Built motion from commit (unavailable).|2.5.1
[motion2.git] / server / api / faxAccount / faxAccount.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 _0xf776=['defaults','localhost','socket.io-emitter','redis','./faxAccount.socket','register','then','info','FaxAccount,\x20%s,\x20%s','debug','FaxAccount,\x20%s,\x20%s,\x20%s','request\x20sent','code','error','message','result','GetFaxAccount','FaxAccount','findAll','options','raw','where','attributes','limit','map','include','model','stringify','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','no\x20available\x20attributes','createdAt','difference','keys','updatedAt','CompanyId','ListId','isNil','from','ValidationError','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','find','account','CmList','List','Contacts','DESC','FaxApplication','Applications','get','applications','list','orderBy','length','contact','FaxInteraction','create','Contact\x20not\x20found','close','unmanaged','*,*,*,*','created','interaction','FaxMessage','AttachmentId','User','UserId','unshift','agent','name','waitForTheAssignedAgent','Start','startRouting','catch','lodash','util','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','http'];(function(_0x155bbf,_0x1bca34){var _0x1cb0ac=function(_0x101c7c){while(--_0x101c7c){_0x155bbf['push'](_0x155bbf['shift']());}};_0x1cb0ac(++_0x1bca34);}(_0xf776,0x104));var _0x6f77=function(_0x2538f3,_0x816601){_0x2538f3=_0x2538f3-0x0;var _0x18671c=_0xf776[_0x2538f3];return _0x18671c;};'use strict';var _=require(_0x6f77('0x0'));var util=require(_0x6f77('0x1'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0x6f77('0x2'));var fs=require('fs');var Redis=require(_0x6f77('0x3'));var db=require(_0x6f77('0x4'))['db'];var utils=require(_0x6f77('0x5'));var logger=require('../../config/logger')(_0x6f77('0x6'));var config=require(_0x6f77('0x7'));var jayson=require(_0x6f77('0x8'));var client=jayson['client'][_0x6f77('0x9')]({'port':0x232c});config['redis']=_[_0x6f77('0xa')](config['redis'],{'host':_0x6f77('0xb'),'port':0x18eb});var socket=require(_0x6f77('0xc'))(new Redis(config[_0x6f77('0xd')]));require(_0x6f77('0xe'))[_0x6f77('0xf')](socket);function respondWithRpcPromise(_0x204e7b,_0x327f9b,_0x4fcf84){return new BPromise(function(_0x40625d,_0x45b04f){return client['request'](_0x204e7b,_0x4fcf84)[_0x6f77('0x10')](function(_0x357f42){logger[_0x6f77('0x11')](_0x6f77('0x12'),_0x327f9b,'request\x20sent');logger[_0x6f77('0x13')](_0x6f77('0x14'),_0x327f9b,_0x6f77('0x15'),JSON['stringify'](_0x357f42));if(_0x357f42['error']){if(_0x357f42['error'][_0x6f77('0x16')]===0x1f4){logger[_0x6f77('0x17')](_0x6f77('0x12'),_0x327f9b,_0x357f42['error'][_0x6f77('0x18')]);return _0x45b04f(_0x357f42[_0x6f77('0x17')]['message']);}logger[_0x6f77('0x17')](_0x6f77('0x12'),_0x327f9b,_0x357f42[_0x6f77('0x17')][_0x6f77('0x18')]);return _0x40625d(_0x357f42['error']['message']);}else{logger[_0x6f77('0x11')](_0x6f77('0x12'),_0x327f9b,_0x6f77('0x15'));_0x40625d(_0x357f42[_0x6f77('0x19')]['message']);}})['catch'](function(_0x57329a){logger[_0x6f77('0x17')](_0x6f77('0x12'),_0x327f9b,_0x57329a);_0x45b04f(_0x57329a);});});}exports[_0x6f77('0x1a')]=function(_0xbed6c3){var _0x48efa0=this;return new Promise(function(_0x3c3546,_0x1294ec){return db[_0x6f77('0x1b')][_0x6f77('0x1c')]({'raw':_0xbed6c3[_0x6f77('0x1d')]?_0xbed6c3[_0x6f77('0x1d')][_0x6f77('0x1e')]===undefined?!![]:![]:!![],'where':_0xbed6c3[_0x6f77('0x1d')]?_0xbed6c3[_0x6f77('0x1d')][_0x6f77('0x1f')]||null:null,'attributes':_0xbed6c3['options']?_0xbed6c3[_0x6f77('0x1d')][_0x6f77('0x20')]||null:null,'limit':_0xbed6c3[_0x6f77('0x1d')]?_0xbed6c3[_0x6f77('0x1d')][_0x6f77('0x21')]||null:null,'include':_0xbed6c3[_0x6f77('0x1d')]?_0xbed6c3['options']['include']?_[_0x6f77('0x22')](_0xbed6c3[_0x6f77('0x1d')][_0x6f77('0x23')],function(_0x11288a){return{'model':db[_0x11288a[_0x6f77('0x24')]],'as':_0x11288a['as'],'attributes':_0x11288a[_0x6f77('0x20')],'include':_0x11288a[_0x6f77('0x23')]?_['map'](_0x11288a[_0x6f77('0x23')],function(_0x4273a1){return{'model':db[_0x4273a1[_0x6f77('0x24')]],'as':_0x4273a1['as'],'attributes':_0x4273a1[_0x6f77('0x20')],'include':_0x4273a1[_0x6f77('0x23')]?_['map'](_0x4273a1['include'],function(_0xe83d05){return{'model':db[_0xe83d05['model']],'as':_0xe83d05['as'],'attributes':_0xe83d05[_0x6f77('0x20')]};}):[]};}):[]};}):[]:[]})[_0x6f77('0x10')](function(_0x4ecd5e){logger['info'](_0x6f77('0x1a'),_0xbed6c3);logger[_0x6f77('0x13')](_0x6f77('0x1a'),_0xbed6c3,JSON[_0x6f77('0x25')](_0x4ecd5e));_0x3c3546(_0x4ecd5e);})['catch'](function(_0x5211df){logger[_0x6f77('0x17')]('GetFaxAccount',_0x5211df['message'],_0xbed6c3);_0x1294ec(_0x48efa0[_0x6f77('0x17')](0x1f4,_0x5211df['message']));});});};exports[_0x6f77('0x26')]=function(_0x910835,_0x535338,_0x54197d){var _0x4707bb=this;return new Promise(function(_0x165161,_0x34b1a5){var _0x143c1d={'body':_0x910835[_0x6f77('0x27')],'channel':_0x6f77('0x28')};var _0x3f284f=[];var _0xdc26e3=[];var _0x3cc113={};return db[_0x6f77('0x29')][_0x6f77('0x2a')]()[_0x6f77('0x10')](function(_0x4fbe2a){if(!_0x4fbe2a){throw new db[(_0x6f77('0x2b'))]['ValidationError'](_0x6f77('0x2c'));}_0x3f284f=_['difference'](_['keys'](_0x4fbe2a),[_0x6f77('0x2d'),'updatedAt']);_0xdc26e3=_[_0x6f77('0x2e')](_[_0x6f77('0x2f')](_0x4fbe2a),[_0x6f77('0x2d'),_0x6f77('0x30'),_0x6f77('0x31'),_0x6f77('0x32')]);if(_0x910835[_0x6f77('0x27')]['id']){delete _0x910835['body']['id'];}if(_[_0x6f77('0x33')](_0x910835[_0x6f77('0x27')][_0x6f77('0x34')])){throw new db['Sequelize'][(_0x6f77('0x35'))](_0x6f77('0x36'));}if(_[_0x6f77('0x33')](_0x910835[_0x6f77('0x27')][_0x6f77('0x27')])||_0x910835['body'][_0x6f77('0x27')]===''){throw new db[(_0x6f77('0x2b'))][(_0x6f77('0x35'))](_0x6f77('0x37'));}if(_[_0x6f77('0x33')](_0x910835['body']['mapKey'])){throw new db[(_0x6f77('0x2b'))][(_0x6f77('0x35'))]('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0xdc26e3);}if(!_['includes'](_0xdc26e3,_0x910835['body'][_0x6f77('0x38')])){throw new db[(_0x6f77('0x2b'))]['ValidationError']('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0xdc26e3);}_0x3cc113[_0x910835['body'][_0x6f77('0x38')]]=_0x910835[_0x6f77('0x27')][_0x6f77('0x34')];})[_0x6f77('0x10')](function(){return db['FaxAccount'][_0x6f77('0x39')]({'where':{'id':_0x910835[_0x6f77('0x3a')]['id']},'include':[{'model':db[_0x6f77('0x3b')],'as':_0x6f77('0x3c'),'include':[{'model':db['CmContact'],'as':_0x6f77('0x3d'),'where':_0x3cc113,'limit':0x1,'order':[[_0x6f77('0x30'),_0x6f77('0x3e')]]}]},{'model':db[_0x6f77('0x3f')],'as':_0x6f77('0x40')}]});})[_0x6f77('0x10')](function(_0x5e3e32){if(_0x5e3e32&&_0x5e3e32['List']){var _0x1eab77=_0x5e3e32[_0x6f77('0x41')]({'plain':!![]});_0x143c1d[_0x6f77('0x3a')]=_0x1eab77;_0x143c1d[_0x6f77('0x42')]=_0x1eab77[_0x6f77('0x40')];_0x143c1d[_0x6f77('0x43')]=_0x1eab77[_0x6f77('0x3c')];_0x143c1d[_0x6f77('0x42')]=_[_0x6f77('0x44')](_0x143c1d[_0x6f77('0x42')],['priority'],['asc']);if(_0x143c1d[_0x6f77('0x3a')][_0x6f77('0x40')]){delete _0x143c1d[_0x6f77('0x3a')][_0x6f77('0x40')];}if(_0x143c1d[_0x6f77('0x3a')]['List']&&_0x143c1d[_0x6f77('0x3a')][_0x6f77('0x3c')][_0x6f77('0x3d')][_0x6f77('0x45')]){return _0x143c1d[_0x6f77('0x3a')][_0x6f77('0x3c')][_0x6f77('0x3d')][0x0];}var _0x3f7437=_[_0x6f77('0xa')](_0x910835['body'],{'firstName':_0x910835[_0x6f77('0x27')][_0x6f77('0x34')],'ListId':_0x1eab77['ListId']});_0x3f7437[_0x910835[_0x6f77('0x27')][_0x6f77('0x38')]]=_0x910835[_0x6f77('0x27')][_0x6f77('0x34')];return db[_0x6f77('0x29')]['create'](_0x3f7437,{'fields':_0x3f284f,'raw':!![]});}})[_0x6f77('0x10')](function(_0xc4e36b){_0x143c1d[_0x6f77('0x46')]=_0xc4e36b;if(_0xc4e36b){var _0x4da381={'ContactId':_0xc4e36b['id'],'FaxAccountId':_0x910835[_0x6f77('0x3a')]['id'],'fax':_0xc4e36b[_0x6f77('0x28')]};return db[_0x6f77('0x47')][_0x6f77('0x39')]({'where':{'ContactId':_0xc4e36b['id'],'closed':![],'FaxAccountId':_0x910835[_0x6f77('0x3a')]['id']}})[_0x6f77('0x10')](function(_0x32b266){if(_0x32b266){return[_0x32b266,![]];}return db[_0x6f77('0x47')][_0x6f77('0x48')](_0x4da381)[_0x6f77('0x10')](function(_0xac29dc){return[_0xac29dc,!![]];});});}else{throw new Error(_0x6f77('0x49'));}})['spread'](function(_0xd2d0e0,_0x3336ce){var _0x3cedbc=_0xd2d0e0['get']({'plain':!![]});if(_0x3336ce){if(_0x143c1d[_0x6f77('0x3a')]['autoclose']){_0x143c1d['applications']['push']({'id':0x0,'priority':_0x143c1d['applications'][_0x6f77('0x45')]+0x1,'app':_0x6f77('0x4a'),'appdata':_0x6f77('0x4b'),'interval':_0x6f77('0x4c')});}_0x3cedbc[_0x6f77('0x4d')]=!![];}else{_0x3cedbc[_0x6f77('0x4d')]=![];}_0x143c1d[_0x6f77('0x4e')]=_0x3cedbc;return db[_0x6f77('0x4f')][_0x6f77('0x48')]({'body':_0x910835[_0x6f77('0x27')][_0x6f77('0x27')],'FaxAccountId':_0x910835[_0x6f77('0x3a')]['id'],'FaxInteractionId':_0xd2d0e0['id'],'direction':'in','ContactId':_0xd2d0e0['ContactId'],'AttachmentId':_0x910835[_0x6f77('0x27')][_0x6f77('0x50')]});})[_0x6f77('0x10')](function(_0x3afa74){_0x143c1d[_0x6f77('0x18')]=_0x3afa74;if(_0x143c1d['interaction']['UserId']){return db[_0x6f77('0x51')][_0x6f77('0x39')]({'attributes':['id','name'],'where':{'id':_0x143c1d[_0x6f77('0x4e')][_0x6f77('0x52')]}})['then'](function(_0x1a79b1){if(_0x1a79b1){_0x143c1d['applications'][_0x6f77('0x53')]({'id':0x0,'priority':0x0,'app':_0x6f77('0x54'),'appdata':_0x1a79b1[_0x6f77('0x55')]+','+(_0x143c1d[_0x6f77('0x3a')][_0x6f77('0x56')]||0xa),'interval':_0x6f77('0x4c')});}return respondWithRpcPromise(_0x6f77('0x57'),_0x6f77('0x58'),_0x143c1d);});}return respondWithRpcPromise('Start',_0x6f77('0x58'),_0x143c1d);})[_0x6f77('0x10')](function(_0x212371){_0x165161(_0x212371);})[_0x6f77('0x59')](function(_0x2c7a6e){_0x34b1a5(_0x4707bb[_0x6f77('0x17')](0x1f4,_0x2c7a6e[_0x6f77('0x18')]));});});};