Built motion from commit (unavailable).|2.5.7
[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 _0xcc7a=['ContactId','AttachmentId','User','name','interaction','UserId','unshift','agent','Start','startRouting','lodash','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','http','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','register','request','then','info','FaxAccount,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','GetFaxAccount','FaxAccount','options','raw','where','attributes','limit','include','map','model','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','CompanyId','ListId','from','ValidationError','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','isNil','mapKey','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','account','CmList','List','DESC','FaxApplication','Applications','get','list','applications','orderBy','priority','Contacts','length','create','contact','FaxInteraction','Contact\x20not\x20found','autoclose','push','close','unmanaged','*,*,*,*','created','FaxMessage'];(function(_0x1f55ff,_0x2c1df6){var _0xd652cc=function(_0x290b54){while(--_0x290b54){_0x1f55ff['push'](_0x1f55ff['shift']());}};_0xd652cc(++_0x2c1df6);}(_0xcc7a,0x1e0));var _0xacc7=function(_0x2353fe,_0x4b0bca){_0x2353fe=_0x2353fe-0x0;var _0x4d43f6=_0xcc7a[_0x2353fe];return _0x4d43f6;};'use strict';var _=require(_0xacc7('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0xacc7('0x1'));var rs=require(_0xacc7('0x2'));var fs=require('fs');var Redis=require(_0xacc7('0x3'));var db=require(_0xacc7('0x4'))['db'];var utils=require(_0xacc7('0x5'));var logger=require('../../config/logger')(_0xacc7('0x6'));var config=require(_0xacc7('0x7'));var jayson=require(_0xacc7('0x8'));var client=jayson['client'][_0xacc7('0x9')]({'port':0x232c});config[_0xacc7('0xa')]=_[_0xacc7('0xb')](config['redis'],{'host':_0xacc7('0xc'),'port':0x18eb});var socket=require(_0xacc7('0xd'))(new Redis(config[_0xacc7('0xa')]));require(_0xacc7('0xe'))[_0xacc7('0xf')](socket);function respondWithRpcPromise(_0x3e577f,_0x5aaa51,_0x27ff46){return new BPromise(function(_0x177a44,_0x5c58ba){return client[_0xacc7('0x10')](_0x3e577f,_0x27ff46)[_0xacc7('0x11')](function(_0x590d43){logger[_0xacc7('0x12')](_0xacc7('0x13'),_0x5aaa51,'request\x20sent');logger[_0xacc7('0x14')]('FaxAccount,\x20%s,\x20%s,\x20%s',_0x5aaa51,_0xacc7('0x15'),JSON[_0xacc7('0x16')](_0x590d43));if(_0x590d43[_0xacc7('0x17')]){if(_0x590d43[_0xacc7('0x17')][_0xacc7('0x18')]===0x1f4){logger[_0xacc7('0x17')](_0xacc7('0x13'),_0x5aaa51,_0x590d43[_0xacc7('0x17')][_0xacc7('0x19')]);return _0x5c58ba(_0x590d43[_0xacc7('0x17')][_0xacc7('0x19')]);}logger[_0xacc7('0x17')](_0xacc7('0x13'),_0x5aaa51,_0x590d43['error'][_0xacc7('0x19')]);return _0x177a44(_0x590d43[_0xacc7('0x17')]['message']);}else{logger[_0xacc7('0x12')](_0xacc7('0x13'),_0x5aaa51,'request\x20sent');_0x177a44(_0x590d43[_0xacc7('0x1a')]['message']);}})[_0xacc7('0x1b')](function(_0x1419b6){logger[_0xacc7('0x17')](_0xacc7('0x13'),_0x5aaa51,_0x1419b6);_0x5c58ba(_0x1419b6);});});}exports[_0xacc7('0x1c')]=function(_0x501e2d){var _0x4caa7c=this;return new Promise(function(_0x3c2b59,_0x24e664){return db[_0xacc7('0x1d')]['findAll']({'raw':_0x501e2d[_0xacc7('0x1e')]?_0x501e2d[_0xacc7('0x1e')][_0xacc7('0x1f')]===undefined?!![]:![]:!![],'where':_0x501e2d[_0xacc7('0x1e')]?_0x501e2d[_0xacc7('0x1e')][_0xacc7('0x20')]||null:null,'attributes':_0x501e2d['options']?_0x501e2d[_0xacc7('0x1e')][_0xacc7('0x21')]||null:null,'limit':_0x501e2d[_0xacc7('0x1e')]?_0x501e2d[_0xacc7('0x1e')][_0xacc7('0x22')]||null:null,'include':_0x501e2d[_0xacc7('0x1e')]?_0x501e2d[_0xacc7('0x1e')][_0xacc7('0x23')]?_[_0xacc7('0x24')](_0x501e2d[_0xacc7('0x1e')]['include'],function(_0x54747a){return{'model':db[_0x54747a[_0xacc7('0x25')]],'as':_0x54747a['as'],'attributes':_0x54747a[_0xacc7('0x21')],'include':_0x54747a[_0xacc7('0x23')]?_[_0xacc7('0x24')](_0x54747a[_0xacc7('0x23')],function(_0x2c36c5){return{'model':db[_0x2c36c5[_0xacc7('0x25')]],'as':_0x2c36c5['as'],'attributes':_0x2c36c5['attributes'],'include':_0x2c36c5[_0xacc7('0x23')]?_[_0xacc7('0x24')](_0x2c36c5[_0xacc7('0x23')],function(_0x5b0cee){return{'model':db[_0x5b0cee['model']],'as':_0x5b0cee['as'],'attributes':_0x5b0cee[_0xacc7('0x21')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x4e3eff){logger['info'](_0xacc7('0x1c'),_0x501e2d);logger[_0xacc7('0x14')]('GetFaxAccount',_0x501e2d,JSON['stringify'](_0x4e3eff));_0x3c2b59(_0x4e3eff);})[_0xacc7('0x1b')](function(_0x14b61b){logger[_0xacc7('0x17')]('GetFaxAccount',_0x14b61b['message'],_0x501e2d);_0x24e664(_0x4caa7c[_0xacc7('0x17')](0x1f4,_0x14b61b[_0xacc7('0x19')]));});});};exports[_0xacc7('0x26')]=function(_0x13a275,_0x391f9a,_0x25a35c){var _0x16aeef=this;return new Promise(function(_0x5f05c1,_0x225be4){var _0x2580ed={'body':_0x13a275[_0xacc7('0x27')],'channel':_0xacc7('0x28')};var _0x16a294=[];var _0x54f827=[];var _0x54d135={};return db[_0xacc7('0x29')][_0xacc7('0x2a')]()[_0xacc7('0x11')](function(_0x3d7e80){if(!_0x3d7e80){throw new db[(_0xacc7('0x2b'))]['ValidationError'](_0xacc7('0x2c'));}_0x16a294=_[_0xacc7('0x2d')](_[_0xacc7('0x2e')](_0x3d7e80),[_0xacc7('0x2f'),_0xacc7('0x30')]);_0x54f827=_[_0xacc7('0x2d')](_[_0xacc7('0x2e')](_0x3d7e80),['createdAt','updatedAt',_0xacc7('0x31'),_0xacc7('0x32')]);if(_0x13a275['body']['id']){delete _0x13a275['body']['id'];}if(_['isNil'](_0x13a275[_0xacc7('0x27')][_0xacc7('0x33')])){throw new db[(_0xacc7('0x2b'))][(_0xacc7('0x34'))](_0xacc7('0x35'));}if(_['isNil'](_0x13a275['body'][_0xacc7('0x27')])||_0x13a275[_0xacc7('0x27')][_0xacc7('0x27')]===''){throw new db[(_0xacc7('0x2b'))][(_0xacc7('0x34'))](_0xacc7('0x36'));}if(_[_0xacc7('0x37')](_0x13a275[_0xacc7('0x27')][_0xacc7('0x38')])){throw new db[(_0xacc7('0x2b'))]['ValidationError']('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x54f827);}if(!_[_0xacc7('0x39')](_0x54f827,_0x13a275[_0xacc7('0x27')][_0xacc7('0x38')])){throw new db[(_0xacc7('0x2b'))]['ValidationError'](_0xacc7('0x3a')+_0x54f827);}_0x54d135[_0x13a275['body'][_0xacc7('0x38')]]=_0x13a275['body'][_0xacc7('0x33')];})['then'](function(){return db['FaxAccount'][_0xacc7('0x3b')]({'where':{'id':_0x13a275[_0xacc7('0x3c')]['id']},'include':[{'model':db[_0xacc7('0x3d')],'as':_0xacc7('0x3e'),'include':[{'model':db[_0xacc7('0x29')],'as':'Contacts','where':_0x54d135,'limit':0x1,'order':[[_0xacc7('0x30'),_0xacc7('0x3f')]]}]},{'model':db[_0xacc7('0x40')],'as':_0xacc7('0x41')}]});})[_0xacc7('0x11')](function(_0x4f8884){if(_0x4f8884&&_0x4f8884[_0xacc7('0x3e')]){var _0xbf9ef=_0x4f8884[_0xacc7('0x42')]({'plain':!![]});_0x2580ed[_0xacc7('0x3c')]=_0xbf9ef;_0x2580ed['applications']=_0xbf9ef[_0xacc7('0x41')];_0x2580ed[_0xacc7('0x43')]=_0xbf9ef[_0xacc7('0x3e')];_0x2580ed[_0xacc7('0x44')]=_[_0xacc7('0x45')](_0x2580ed[_0xacc7('0x44')],[_0xacc7('0x46')],['asc']);if(_0x2580ed[_0xacc7('0x3c')][_0xacc7('0x41')]){delete _0x2580ed[_0xacc7('0x3c')][_0xacc7('0x41')];}if(_0x2580ed[_0xacc7('0x3c')][_0xacc7('0x3e')]&&_0x2580ed['account']['List'][_0xacc7('0x47')][_0xacc7('0x48')]){return _0x2580ed['account'][_0xacc7('0x3e')][_0xacc7('0x47')][0x0];}var _0x22a132=_[_0xacc7('0xb')](_0x13a275[_0xacc7('0x27')],{'firstName':_0x13a275[_0xacc7('0x27')][_0xacc7('0x33')],'ListId':_0xbf9ef['ListId']});_0x22a132[_0x13a275[_0xacc7('0x27')][_0xacc7('0x38')]]=_0x13a275['body'][_0xacc7('0x33')];return db['CmContact'][_0xacc7('0x49')](_0x22a132,{'fields':_0x16a294,'raw':!![]});}})['then'](function(_0x16d3bb){_0x2580ed[_0xacc7('0x4a')]=_0x16d3bb;if(_0x16d3bb){var _0x437f9d={'ContactId':_0x16d3bb['id'],'FaxAccountId':_0x13a275[_0xacc7('0x3c')]['id'],'fax':_0x16d3bb['fax']};return db['FaxInteraction']['find']({'where':{'ContactId':_0x16d3bb['id'],'closed':![],'FaxAccountId':_0x13a275[_0xacc7('0x3c')]['id']}})[_0xacc7('0x11')](function(_0x31aa75){if(_0x31aa75){return[_0x31aa75,![]];}return db[_0xacc7('0x4b')][_0xacc7('0x49')](_0x437f9d)['then'](function(_0x64bcb){return[_0x64bcb,!![]];});});}else{throw new Error(_0xacc7('0x4c'));}})['spread'](function(_0x4b5b05,_0x5670b3){var _0x2fe0f3=_0x4b5b05[_0xacc7('0x42')]({'plain':!![]});if(_0x5670b3){if(_0x2580ed[_0xacc7('0x3c')][_0xacc7('0x4d')]){_0x2580ed[_0xacc7('0x44')][_0xacc7('0x4e')]({'id':0x0,'priority':_0x2580ed[_0xacc7('0x44')]['length']+0x1,'app':_0xacc7('0x4f'),'appdata':_0xacc7('0x50'),'interval':_0xacc7('0x51')});}_0x2fe0f3[_0xacc7('0x52')]=!![];}else{_0x2fe0f3[_0xacc7('0x52')]=![];}_0x2580ed['interaction']=_0x2fe0f3;return db[_0xacc7('0x53')][_0xacc7('0x49')]({'body':_0x13a275[_0xacc7('0x27')]['body'],'FaxAccountId':_0x13a275[_0xacc7('0x3c')]['id'],'FaxInteractionId':_0x4b5b05['id'],'direction':'in','ContactId':_0x4b5b05[_0xacc7('0x54')],'AttachmentId':_0x13a275['body'][_0xacc7('0x55')]});})[_0xacc7('0x11')](function(_0x4fe1d5){_0x2580ed[_0xacc7('0x19')]=_0x4fe1d5;if(_0x2580ed['interaction']['UserId']){return db[_0xacc7('0x56')][_0xacc7('0x3b')]({'attributes':['id',_0xacc7('0x57')],'where':{'id':_0x2580ed[_0xacc7('0x58')][_0xacc7('0x59')]}})[_0xacc7('0x11')](function(_0x434169){if(_0x434169){_0x2580ed['applications'][_0xacc7('0x5a')]({'id':0x0,'priority':0x0,'app':_0xacc7('0x5b'),'appdata':_0x434169['name']+','+(_0x2580ed[_0xacc7('0x3c')]['waitForTheAssignedAgent']||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0xacc7('0x5c'),'startRouting',_0x2580ed);});}return respondWithRpcPromise(_0xacc7('0x5c'),_0xacc7('0x5d'),_0x2580ed);})[_0xacc7('0x11')](function(_0x2aa1fe){_0x5f05c1(_0x2aa1fe);})['catch'](function(_0x1eae05){_0x225be4(_0x16aeef[_0xacc7('0x17')](0x1f4,_0x1eae05[_0xacc7('0x19')]));});});};