Built motion from commit 3e059bc2.|2.5.32
[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 _0xb950=['keys','startsWith','cf_','update','table','cm_contacts','set','id\x20=\x20?','toString','lodash','util','moment','bluebird','ioredis','squel','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','defaults','redis','localhost','socket.io-emitter','./cmContact.socket','request','then','CmContact,\x20%s,\x20%s','debug','CmContact,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','result','catch','GetCmContact','findAll','options','raw','where','attributes','limit','include','map','model','CreateCmContact','body','length'];(function(_0x9a1d34,_0x50094d){var _0x2da8d2=function(_0x81fb8c){while(--_0x81fb8c){_0x9a1d34['push'](_0x9a1d34['shift']());}};_0x2da8d2(++_0x50094d);}(_0xb950,0x1d4));var _0x0b95=function(_0x126558,_0x143c9a){_0x126558=_0x126558-0x0;var _0x1f6d14=_0xb950[_0x126558];return _0x1f6d14;};'use strict';var _=require(_0x0b95('0x0'));var util=require(_0x0b95('0x1'));var moment=require(_0x0b95('0x2'));var BPromise=require(_0x0b95('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x0b95('0x4'));var squel=require(_0x0b95('0x5'));var db=require(_0x0b95('0x6'))['db'];var utils=require(_0x0b95('0x7'));var logger=require(_0x0b95('0x8'))(_0x0b95('0x9'));var config=require('../../config/environment');var jayson=require(_0x0b95('0xa'));var client=jayson['client']['http']({'port':0x232a});config['redis']=_[_0x0b95('0xb')](config[_0x0b95('0xc')],{'host':_0x0b95('0xd'),'port':0x18eb});var socket=require(_0x0b95('0xe'))(new Redis(config[_0x0b95('0xc')]));require(_0x0b95('0xf'))['register'](socket);function respondWithRpcPromise(_0x277a83,_0x4e0cfc,_0x2216a3){return new BPromise(function(_0x2de936,_0x3954ec){return client[_0x0b95('0x10')](_0x277a83,_0x2216a3)[_0x0b95('0x11')](function(_0x5d67b5){logger['info'](_0x0b95('0x12'),_0x4e0cfc,'request\x20sent');logger[_0x0b95('0x13')](_0x0b95('0x14'),_0x4e0cfc,_0x0b95('0x15'),JSON[_0x0b95('0x16')](_0x5d67b5));if(_0x5d67b5[_0x0b95('0x17')]){if(_0x5d67b5[_0x0b95('0x17')][_0x0b95('0x18')]===0x1f4){logger[_0x0b95('0x17')](_0x0b95('0x12'),_0x4e0cfc,_0x5d67b5[_0x0b95('0x17')]['message']);return _0x3954ec(_0x5d67b5[_0x0b95('0x17')][_0x0b95('0x19')]);}logger[_0x0b95('0x17')](_0x0b95('0x12'),_0x4e0cfc,_0x5d67b5[_0x0b95('0x17')][_0x0b95('0x19')]);return _0x2de936(_0x5d67b5['error'][_0x0b95('0x19')]);}else{logger[_0x0b95('0x1a')](_0x0b95('0x12'),_0x4e0cfc,_0x0b95('0x15'));_0x2de936(_0x5d67b5[_0x0b95('0x1b')][_0x0b95('0x19')]);}})[_0x0b95('0x1c')](function(_0x1c26bf){logger[_0x0b95('0x17')](_0x0b95('0x12'),_0x4e0cfc,_0x1c26bf);_0x3954ec(_0x1c26bf);});});}exports[_0x0b95('0x1d')]=function(_0x305307){var _0x5f5d3a=this;return new Promise(function(_0xb1272b,_0x2b416a){return db['CmContact'][_0x0b95('0x1e')]({'raw':_0x305307[_0x0b95('0x1f')]?_0x305307[_0x0b95('0x1f')][_0x0b95('0x20')]===undefined?!![]:![]:!![],'where':_0x305307[_0x0b95('0x1f')]?_0x305307['options'][_0x0b95('0x21')]||null:null,'attributes':_0x305307[_0x0b95('0x1f')]?_0x305307[_0x0b95('0x1f')][_0x0b95('0x22')]||null:null,'limit':_0x305307[_0x0b95('0x1f')]?_0x305307['options'][_0x0b95('0x23')]||null:null,'include':_0x305307['options']?_0x305307[_0x0b95('0x1f')][_0x0b95('0x24')]?_[_0x0b95('0x25')](_0x305307[_0x0b95('0x1f')][_0x0b95('0x24')],function(_0x104e1c){return{'model':db[_0x104e1c[_0x0b95('0x26')]],'as':_0x104e1c['as'],'attributes':_0x104e1c[_0x0b95('0x22')],'include':_0x104e1c[_0x0b95('0x24')]?_[_0x0b95('0x25')](_0x104e1c[_0x0b95('0x24')],function(_0x533014){return{'model':db[_0x533014['model']],'as':_0x533014['as'],'attributes':_0x533014['attributes'],'include':_0x533014[_0x0b95('0x24')]?_[_0x0b95('0x25')](_0x533014['include'],function(_0x4899e6){return{'model':db[_0x4899e6['model']],'as':_0x4899e6['as'],'attributes':_0x4899e6[_0x0b95('0x22')]};}):[]};}):[]};}):[]:[]})[_0x0b95('0x11')](function(_0xb02c26){logger[_0x0b95('0x1a')](_0x0b95('0x1d'),_0x305307);logger[_0x0b95('0x13')](_0x0b95('0x1d'),_0x305307,JSON[_0x0b95('0x16')](_0xb02c26));_0xb1272b(_0xb02c26);})[_0x0b95('0x1c')](function(_0x28fd75){logger[_0x0b95('0x17')](_0x0b95('0x1d'),_0x28fd75['message'],_0x305307);_0x2b416a(_0x5f5d3a[_0x0b95('0x17')](0x1f4,_0x28fd75['message']));});});};exports[_0x0b95('0x27')]=function(_0x2106f4){var _0x1e9256=this;return new Promise(function(_0x19c2e6,_0x12a0bb){return db['CmContact']['create'](_0x2106f4['body'],{'raw':_0x2106f4['options']?_0x2106f4['options']['raw']===undefined?!![]:![]:!![]})[_0x0b95('0x11')](function(_0x31920d){var _0x4ff562;for(var _0x5f23aa=0x0;_0x5f23aa<Object['keys'](_0x2106f4[_0x0b95('0x28')])[_0x0b95('0x29')];_0x5f23aa++){var _0x238691=Object[_0x0b95('0x2a')](_0x2106f4[_0x0b95('0x28')])[_0x5f23aa];if(_0x238691[_0x0b95('0x2b')](_0x0b95('0x2c'))){_0x4ff562=squel[_0x0b95('0x2d')]()[_0x0b95('0x2e')](_0x0b95('0x2f'))[_0x0b95('0x30')](_0x238691,_0x2106f4[_0x0b95('0x28')][_0x238691])['where'](_0x0b95('0x31'),_0x31920d['id'])[_0x0b95('0x32')]();break;}}if(!_0x4ff562)return _0x31920d;return db['sequelize']['query'](_0x4ff562)['then'](function(){return _0x31920d;});})['then'](function(_0x1f47d1){logger[_0x0b95('0x1a')](_0x0b95('0x27'),_0x2106f4);logger[_0x0b95('0x13')]('CreateCmContact',_0x2106f4,JSON['stringify'](_0x1f47d1));_0x19c2e6(_0x1f47d1);})[_0x0b95('0x1c')](function(_0x5e3c3b){logger['error'](_0x0b95('0x27'),_0x5e3c3b[_0x0b95('0x19')],_0x2106f4);_0x12a0bb(_0x1e9256[_0x0b95('0x17')](0x1f4,_0x5e3c3b[_0x0b95('0x19')]));});});};