Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / cmContact / cmContact.rpc.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x3e31=['CreateCmContact','create','body','keys','length','startsWith','update','id\x20=\x20?','toString','sequelize','query','debug','stringify','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','client','http','redis','defaults','socket.io-emitter','./cmContact.socket','register','request','then','request\x20sent','error','code','message','CmContact,\x20%s,\x20%s','info','result','catch','GetCmContact','CmContact','options','raw','where','attributes','limit','include','map','model'];(function(_0x4338d0,_0x44828f){var _0x519986=function(_0xd916f9){while(--_0xd916f9){_0x4338d0['push'](_0x4338d0['shift']());}};_0x519986(++_0x44828f);}(_0x3e31,0xc1));var _0x13e3=function(_0x4102a1,_0x3439bb){_0x4102a1=_0x4102a1-0x0;var _0x56d255=_0x3e31[_0x4102a1];return _0x56d255;};'use strict';var _=require('lodash');var util=require('util');var moment=require('moment');var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var squel=require('squel');var db=require(_0x13e3('0x0'))['db'];var utils=require(_0x13e3('0x1'));var logger=require(_0x13e3('0x2'))(_0x13e3('0x3'));var config=require(_0x13e3('0x4'));var jayson=require('jayson/promise');var client=jayson[_0x13e3('0x5')][_0x13e3('0x6')]({'port':0x232a});config[_0x13e3('0x7')]=_[_0x13e3('0x8')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x13e3('0x9'))(new Redis(config[_0x13e3('0x7')]));require(_0x13e3('0xa'))[_0x13e3('0xb')](socket);function respondWithRpcPromise(_0xa4eb7,_0x2b7971,_0x24ed86){return new BPromise(function(_0x4e05d1,_0xe741a6){return client[_0x13e3('0xc')](_0xa4eb7,_0x24ed86)[_0x13e3('0xd')](function(_0x50bdcd){logger['info']('CmContact,\x20%s,\x20%s',_0x2b7971,_0x13e3('0xe'));logger['debug']('CmContact,\x20%s,\x20%s,\x20%s',_0x2b7971,'request\x20sent',JSON['stringify'](_0x50bdcd));if(_0x50bdcd['error']){if(_0x50bdcd[_0x13e3('0xf')][_0x13e3('0x10')]===0x1f4){logger[_0x13e3('0xf')]('CmContact,\x20%s,\x20%s',_0x2b7971,_0x50bdcd[_0x13e3('0xf')]['message']);return _0xe741a6(_0x50bdcd[_0x13e3('0xf')][_0x13e3('0x11')]);}logger['error'](_0x13e3('0x12'),_0x2b7971,_0x50bdcd[_0x13e3('0xf')][_0x13e3('0x11')]);return _0x4e05d1(_0x50bdcd[_0x13e3('0xf')][_0x13e3('0x11')]);}else{logger[_0x13e3('0x13')](_0x13e3('0x12'),_0x2b7971,_0x13e3('0xe'));_0x4e05d1(_0x50bdcd[_0x13e3('0x14')]['message']);}})[_0x13e3('0x15')](function(_0x492b67){logger[_0x13e3('0xf')](_0x13e3('0x12'),_0x2b7971,_0x492b67);_0xe741a6(_0x492b67);});});}exports[_0x13e3('0x16')]=function(_0x4d90c7){var _0x1abf9e=this;return new Promise(function(_0xd92d91,_0x2e3132){return db[_0x13e3('0x17')]['findAll']({'raw':_0x4d90c7[_0x13e3('0x18')]?_0x4d90c7[_0x13e3('0x18')][_0x13e3('0x19')]===undefined?!![]:![]:!![],'where':_0x4d90c7[_0x13e3('0x18')]?_0x4d90c7['options'][_0x13e3('0x1a')]||null:null,'attributes':_0x4d90c7[_0x13e3('0x18')]?_0x4d90c7[_0x13e3('0x18')][_0x13e3('0x1b')]||null:null,'limit':_0x4d90c7['options']?_0x4d90c7['options'][_0x13e3('0x1c')]||null:null,'include':_0x4d90c7['options']?_0x4d90c7[_0x13e3('0x18')][_0x13e3('0x1d')]?_[_0x13e3('0x1e')](_0x4d90c7[_0x13e3('0x18')][_0x13e3('0x1d')],function(_0x8f8e42){return{'model':db[_0x8f8e42['model']],'as':_0x8f8e42['as'],'attributes':_0x8f8e42[_0x13e3('0x1b')],'include':_0x8f8e42[_0x13e3('0x1d')]?_['map'](_0x8f8e42[_0x13e3('0x1d')],function(_0x353d43){return{'model':db[_0x353d43[_0x13e3('0x1f')]],'as':_0x353d43['as'],'attributes':_0x353d43['attributes'],'include':_0x353d43[_0x13e3('0x1d')]?_[_0x13e3('0x1e')](_0x353d43[_0x13e3('0x1d')],function(_0x57441b){return{'model':db[_0x57441b[_0x13e3('0x1f')]],'as':_0x57441b['as'],'attributes':_0x57441b['attributes']};}):[]};}):[]};}):[]:[]})[_0x13e3('0xd')](function(_0x415543){logger[_0x13e3('0x13')]('GetCmContact',_0x4d90c7);logger['debug']('GetCmContact',_0x4d90c7,JSON['stringify'](_0x415543));_0xd92d91(_0x415543);})[_0x13e3('0x15')](function(_0x5f2f1a){logger['error'](_0x13e3('0x16'),_0x5f2f1a[_0x13e3('0x11')],_0x4d90c7);_0x2e3132(_0x1abf9e[_0x13e3('0xf')](0x1f4,_0x5f2f1a['message']));});});};exports[_0x13e3('0x20')]=function(_0x519f79){var _0x2ad4da=this;return new Promise(function(_0x178ca,_0x26b64f){return db['CmContact'][_0x13e3('0x21')](_0x519f79[_0x13e3('0x22')],{'raw':_0x519f79[_0x13e3('0x18')]?_0x519f79[_0x13e3('0x18')][_0x13e3('0x19')]===undefined?!![]:![]:!![]})['then'](function(_0x15cff4){var _0x9791af;for(var _0x3e04b0=0x0;_0x3e04b0<Object[_0x13e3('0x23')](_0x519f79[_0x13e3('0x22')])[_0x13e3('0x24')];_0x3e04b0++){var _0x496620=Object[_0x13e3('0x23')](_0x519f79['body'])[_0x3e04b0];if(_0x496620[_0x13e3('0x25')]('cf_')){_0x9791af=squel[_0x13e3('0x26')]()['table']('cm_contacts')['set'](_0x496620,_0x519f79['body'][_0x496620])[_0x13e3('0x1a')](_0x13e3('0x27'),_0x15cff4['id'])[_0x13e3('0x28')]();break;}}if(!_0x9791af)return _0x15cff4;return db[_0x13e3('0x29')][_0x13e3('0x2a')](_0x9791af)[_0x13e3('0xd')](function(){return _0x15cff4;});})['then'](function(_0x42661c){logger['info'](_0x13e3('0x20'),_0x519f79);logger[_0x13e3('0x2b')](_0x13e3('0x20'),_0x519f79,JSON[_0x13e3('0x2c')](_0x42661c));_0x178ca(_0x42661c);})[_0x13e3('0x15')](function(_0x59e081){logger[_0x13e3('0xf')](_0x13e3('0x20'),_0x59e081['message'],_0x519f79);_0x26b64f(_0x2ad4da[_0x13e3('0xf')](0x1f4,_0x59e081['message']));});});};