Built motion from commit (unavailable).|2.5.4
[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 _0xabfc=['request\x20sent','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','FaxAccount,\x20%s,\x20%s','catch','GetFaxAccount','findAll','options','raw','where','attributes','include','model','map','debug','body','fax','CmContact','Sequelize','no\x20available\x20attributes','keys','createdAt','updatedAt','difference','from','ValidationError','from\x20is\x20mandatory','isNil','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','FaxAccount','find','account','List','Contacts','Applications','get','applications','orderBy','length','ListId','create','contact','FaxInteraction','Contact\x20not\x20found','spread','push','close','unmanaged','*,*,*,*','created','FaxMessage','ContactId','AttachmentId','interaction','UserId','User','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','util','moment','bluebird','../../config/utils','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','register','then','info'];(function(_0x1a3541,_0x47ad8e){var _0x4738ae=function(_0x3a536e){while(--_0x3a536e){_0x1a3541['push'](_0x1a3541['shift']());}};_0x4738ae(++_0x47ad8e);}(_0xabfc,0x194));var _0xcabf=function(_0x542da8,_0x509c26){_0x542da8=_0x542da8-0x0;var _0x533d7e=_0xabfc[_0x542da8];return _0x533d7e;};'use strict';var _=require(_0xcabf('0x0'));var util=require(_0xcabf('0x1'));var moment=require(_0xcabf('0x2'));var BPromise=require(_0xcabf('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require('../../mysqldb')['db'];var utils=require(_0xcabf('0x4'));var logger=require('../../config/logger')(_0xcabf('0x5'));var config=require(_0xcabf('0x6'));var jayson=require(_0xcabf('0x7'));var client=jayson[_0xcabf('0x8')][_0xcabf('0x9')]({'port':0x232c});config[_0xcabf('0xa')]=_[_0xcabf('0xb')](config[_0xcabf('0xa')],{'host':_0xcabf('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xcabf('0xa')]));require('./faxAccount.socket')[_0xcabf('0xd')](socket);function respondWithRpcPromise(_0x2217a9,_0x398568,_0x2cddb2){return new BPromise(function(_0x524691,_0x18ada6){return client['request'](_0x2217a9,_0x2cddb2)[_0xcabf('0xe')](function(_0x5054c7){logger[_0xcabf('0xf')]('FaxAccount,\x20%s,\x20%s',_0x398568,_0xcabf('0x10'));logger['debug'](_0xcabf('0x11'),_0x398568,_0xcabf('0x10'),JSON[_0xcabf('0x12')](_0x5054c7));if(_0x5054c7[_0xcabf('0x13')]){if(_0x5054c7[_0xcabf('0x13')][_0xcabf('0x14')]===0x1f4){logger[_0xcabf('0x13')]('FaxAccount,\x20%s,\x20%s',_0x398568,_0x5054c7[_0xcabf('0x13')]['message']);return _0x18ada6(_0x5054c7['error'][_0xcabf('0x15')]);}logger[_0xcabf('0x13')](_0xcabf('0x16'),_0x398568,_0x5054c7[_0xcabf('0x13')]['message']);return _0x524691(_0x5054c7[_0xcabf('0x13')][_0xcabf('0x15')]);}else{logger[_0xcabf('0xf')](_0xcabf('0x16'),_0x398568,'request\x20sent');_0x524691(_0x5054c7['result'][_0xcabf('0x15')]);}})[_0xcabf('0x17')](function(_0x14c16c){logger[_0xcabf('0x13')](_0xcabf('0x16'),_0x398568,_0x14c16c);_0x18ada6(_0x14c16c);});});}exports[_0xcabf('0x18')]=function(_0x3dfa11){var _0x59edbd=this;return new Promise(function(_0x6fd5b3,_0x325c0e){return db['FaxAccount'][_0xcabf('0x19')]({'raw':_0x3dfa11[_0xcabf('0x1a')]?_0x3dfa11[_0xcabf('0x1a')][_0xcabf('0x1b')]===undefined?!![]:![]:!![],'where':_0x3dfa11['options']?_0x3dfa11[_0xcabf('0x1a')][_0xcabf('0x1c')]||null:null,'attributes':_0x3dfa11[_0xcabf('0x1a')]?_0x3dfa11[_0xcabf('0x1a')][_0xcabf('0x1d')]||null:null,'limit':_0x3dfa11['options']?_0x3dfa11['options']['limit']||null:null,'include':_0x3dfa11[_0xcabf('0x1a')]?_0x3dfa11['options'][_0xcabf('0x1e')]?_['map'](_0x3dfa11[_0xcabf('0x1a')]['include'],function(_0x30ec00){return{'model':db[_0x30ec00[_0xcabf('0x1f')]],'as':_0x30ec00['as'],'attributes':_0x30ec00[_0xcabf('0x1d')],'include':_0x30ec00[_0xcabf('0x1e')]?_['map'](_0x30ec00[_0xcabf('0x1e')],function(_0x3fdbff){return{'model':db[_0x3fdbff[_0xcabf('0x1f')]],'as':_0x3fdbff['as'],'attributes':_0x3fdbff['attributes'],'include':_0x3fdbff[_0xcabf('0x1e')]?_[_0xcabf('0x20')](_0x3fdbff['include'],function(_0x561a5d){return{'model':db[_0x561a5d[_0xcabf('0x1f')]],'as':_0x561a5d['as'],'attributes':_0x561a5d['attributes']};}):[]};}):[]};}):[]:[]})[_0xcabf('0xe')](function(_0x5a3a6c){logger[_0xcabf('0xf')](_0xcabf('0x18'),_0x3dfa11);logger[_0xcabf('0x21')](_0xcabf('0x18'),_0x3dfa11,JSON['stringify'](_0x5a3a6c));_0x6fd5b3(_0x5a3a6c);})[_0xcabf('0x17')](function(_0x2a3c2d){logger[_0xcabf('0x13')](_0xcabf('0x18'),_0x2a3c2d[_0xcabf('0x15')],_0x3dfa11);_0x325c0e(_0x59edbd['error'](0x1f4,_0x2a3c2d[_0xcabf('0x15')]));});});};exports['NotifyFaxAccount']=function(_0x290e5e,_0x504179,_0x5716a2){var _0x3c3be6=this;return new Promise(function(_0x34c4f6,_0x179fd5){var _0x722cc1={'body':_0x290e5e[_0xcabf('0x22')],'channel':_0xcabf('0x23')};var _0x17deb9=[];var _0x599144=[];var _0xaf23da={};return db[_0xcabf('0x24')]['describe']()[_0xcabf('0xe')](function(_0x43623b){if(!_0x43623b){throw new db[(_0xcabf('0x25'))]['ValidationError'](_0xcabf('0x26'));}_0x17deb9=_['difference'](_[_0xcabf('0x27')](_0x43623b),[_0xcabf('0x28'),_0xcabf('0x29')]);_0x599144=_[_0xcabf('0x2a')](_[_0xcabf('0x27')](_0x43623b),[_0xcabf('0x28'),_0xcabf('0x29'),'CompanyId','ListId']);if(_0x290e5e[_0xcabf('0x22')]['id']){delete _0x290e5e[_0xcabf('0x22')]['id'];}if(_['isNil'](_0x290e5e[_0xcabf('0x22')][_0xcabf('0x2b')])){throw new db[(_0xcabf('0x25'))][(_0xcabf('0x2c'))](_0xcabf('0x2d'));}if(_[_0xcabf('0x2e')](_0x290e5e['body']['body'])||_0x290e5e[_0xcabf('0x22')][_0xcabf('0x22')]===''){throw new db[(_0xcabf('0x25'))][(_0xcabf('0x2c'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0xcabf('0x2e')](_0x290e5e[_0xcabf('0x22')][_0xcabf('0x2f')])){throw new db[(_0xcabf('0x25'))][(_0xcabf('0x2c'))](_0xcabf('0x30')+_0x599144);}if(!_[_0xcabf('0x31')](_0x599144,_0x290e5e[_0xcabf('0x22')][_0xcabf('0x2f')])){throw new db[(_0xcabf('0x25'))]['ValidationError'](_0xcabf('0x32')+_0x599144);}_0xaf23da[_0x290e5e[_0xcabf('0x22')]['mapKey']]=_0x290e5e[_0xcabf('0x22')][_0xcabf('0x2b')];})[_0xcabf('0xe')](function(){return db[_0xcabf('0x33')][_0xcabf('0x34')]({'where':{'id':_0x290e5e[_0xcabf('0x35')]['id']},'include':[{'model':db['CmList'],'as':_0xcabf('0x36'),'include':[{'model':db[_0xcabf('0x24')],'as':_0xcabf('0x37'),'where':_0xaf23da,'limit':0x1,'order':[[_0xcabf('0x29'),'DESC']]}]},{'model':db['FaxApplication'],'as':_0xcabf('0x38')}]});})[_0xcabf('0xe')](function(_0x1eb5e4){if(_0x1eb5e4&&_0x1eb5e4[_0xcabf('0x36')]){var _0x21628a=_0x1eb5e4[_0xcabf('0x39')]({'plain':!![]});_0x722cc1[_0xcabf('0x35')]=_0x21628a;_0x722cc1[_0xcabf('0x3a')]=_0x21628a['Applications'];_0x722cc1['list']=_0x21628a[_0xcabf('0x36')];_0x722cc1[_0xcabf('0x3a')]=_[_0xcabf('0x3b')](_0x722cc1['applications'],['priority'],['asc']);if(_0x722cc1['account']['Applications']){delete _0x722cc1[_0xcabf('0x35')][_0xcabf('0x38')];}if(_0x722cc1[_0xcabf('0x35')][_0xcabf('0x36')]&&_0x722cc1[_0xcabf('0x35')][_0xcabf('0x36')][_0xcabf('0x37')][_0xcabf('0x3c')]){return _0x722cc1[_0xcabf('0x35')]['List'][_0xcabf('0x37')][0x0];}var _0x45f09d=_[_0xcabf('0xb')](_0x290e5e['body'],{'firstName':_0x290e5e[_0xcabf('0x22')]['from'],'ListId':_0x21628a[_0xcabf('0x3d')]});_0x45f09d[_0x290e5e[_0xcabf('0x22')][_0xcabf('0x2f')]]=_0x290e5e['body'][_0xcabf('0x2b')];return db['CmContact'][_0xcabf('0x3e')](_0x45f09d,{'fields':_0x17deb9,'raw':!![]});}})[_0xcabf('0xe')](function(_0xc63ef9){_0x722cc1[_0xcabf('0x3f')]=_0xc63ef9;if(_0xc63ef9){var _0x2ef903={'ContactId':_0xc63ef9['id'],'FaxAccountId':_0x290e5e[_0xcabf('0x35')]['id'],'fax':_0xc63ef9[_0xcabf('0x23')]};return db['FaxInteraction'][_0xcabf('0x34')]({'where':{'ContactId':_0xc63ef9['id'],'closed':![],'FaxAccountId':_0x290e5e[_0xcabf('0x35')]['id']}})[_0xcabf('0xe')](function(_0x3cdf0d){if(_0x3cdf0d){return[_0x3cdf0d,![]];}return db[_0xcabf('0x40')]['create'](_0x2ef903)[_0xcabf('0xe')](function(_0x2fe4fb){return[_0x2fe4fb,!![]];});});}else{throw new Error(_0xcabf('0x41'));}})[_0xcabf('0x42')](function(_0x24a767,_0x1f17fe){var _0x159601=_0x24a767[_0xcabf('0x39')]({'plain':!![]});if(_0x1f17fe){if(_0x722cc1[_0xcabf('0x35')]['autoclose']){_0x722cc1[_0xcabf('0x3a')][_0xcabf('0x43')]({'id':0x0,'priority':_0x722cc1[_0xcabf('0x3a')][_0xcabf('0x3c')]+0x1,'app':_0xcabf('0x44'),'appdata':_0xcabf('0x45'),'interval':_0xcabf('0x46')});}_0x159601[_0xcabf('0x47')]=!![];}else{_0x159601[_0xcabf('0x47')]=![];}_0x722cc1['interaction']=_0x159601;return db[_0xcabf('0x48')][_0xcabf('0x3e')]({'body':_0x290e5e[_0xcabf('0x22')][_0xcabf('0x22')],'FaxAccountId':_0x290e5e[_0xcabf('0x35')]['id'],'FaxInteractionId':_0x24a767['id'],'direction':'in','ContactId':_0x24a767[_0xcabf('0x49')],'AttachmentId':_0x290e5e[_0xcabf('0x22')][_0xcabf('0x4a')]});})[_0xcabf('0xe')](function(_0x3d05ee){_0x722cc1[_0xcabf('0x15')]=_0x3d05ee;if(_0x722cc1[_0xcabf('0x4b')][_0xcabf('0x4c')]){return db[_0xcabf('0x4d')]['find']({'attributes':['id',_0xcabf('0x4e')],'where':{'id':_0x722cc1[_0xcabf('0x4b')][_0xcabf('0x4c')]}})['then'](function(_0x325ef9){if(_0x325ef9){_0x722cc1[_0xcabf('0x3a')][_0xcabf('0x4f')]({'id':0x0,'priority':0x0,'app':_0xcabf('0x50'),'appdata':_0x325ef9[_0xcabf('0x4e')]+','+(_0x722cc1[_0xcabf('0x35')][_0xcabf('0x51')]||0xa),'interval':_0xcabf('0x46')});}return respondWithRpcPromise(_0xcabf('0x52'),_0xcabf('0x53'),_0x722cc1);});}return respondWithRpcPromise(_0xcabf('0x52'),_0xcabf('0x53'),_0x722cc1);})['then'](function(_0x3c1181){_0x34c4f6(_0x3c1181);})[_0xcabf('0x17')](function(_0x21453e){_0x179fd5(_0x3c3be6[_0xcabf('0x13')](0x1f4,_0x21453e[_0xcabf('0x15')]));});});};