Built motion from commit b0a9a629.|2.6.33
[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 _0xf70d=['message','result','GetFaxAccount','FaxAccount','findAll','options','raw','attributes','limit','include','map','model','debug','catch','body','fax','CmContact','Sequelize','no\x20available\x20attributes','difference','keys','updatedAt','createdAt','CompanyId','ListId','isNil','from','ValidationError','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','account','CmList','List','Contacts','DESC','FaxApplication','Applications','get','list','applications','orderBy','priority','asc','create','contact','FaxInteraction','Contact\x20not\x20found','spread','autoclose','push','length','close','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','UserId','User','name','unshift','agent','waitForTheAssignedAgent','queueId','FaxQueue','waitForTheAssignedQueue','Start','startRouting','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','register','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code'];(function(_0x119953,_0xcd30c8){var _0x22ef82=function(_0x28e497){while(--_0x28e497){_0x119953['push'](_0x119953['shift']());}};_0x22ef82(++_0xcd30c8);}(_0xf70d,0x113));var _0xdf70=function(_0x166742,_0x55520c){_0x166742=_0x166742-0x0;var _0xb7814a=_0xf70d[_0x166742];return _0xb7814a;};'use strict';var _=require(_0xdf70('0x0'));var util=require(_0xdf70('0x1'));var moment=require(_0xdf70('0x2'));var BPromise=require(_0xdf70('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xdf70('0x4'));var db=require(_0xdf70('0x5'))['db'];var utils=require(_0xdf70('0x6'));var logger=require(_0xdf70('0x7'))(_0xdf70('0x8'));var config=require(_0xdf70('0x9'));var jayson=require(_0xdf70('0xa'));var client=jayson[_0xdf70('0xb')][_0xdf70('0xc')]({'port':0x232c});config[_0xdf70('0xd')]=_[_0xdf70('0xe')](config[_0xdf70('0xd')],{'host':_0xdf70('0xf'),'port':0x18eb});var socket=require(_0xdf70('0x10'))(new Redis(config['redis']));require(_0xdf70('0x11'))[_0xdf70('0x12')](socket);function respondWithRpcPromise(_0x44d33d,_0x5aa955,_0x52c26a){return new BPromise(function(_0x41cc65,_0x3dd446){return client[_0xdf70('0x13')](_0x44d33d,_0x52c26a)[_0xdf70('0x14')](function(_0x1191be){logger[_0xdf70('0x15')](_0xdf70('0x16'),_0x5aa955,_0xdf70('0x17'));logger['debug'](_0xdf70('0x18'),_0x5aa955,_0xdf70('0x17'),JSON[_0xdf70('0x19')](_0x1191be));if(_0x1191be[_0xdf70('0x1a')]){if(_0x1191be[_0xdf70('0x1a')][_0xdf70('0x1b')]===0x1f4){logger[_0xdf70('0x1a')](_0xdf70('0x16'),_0x5aa955,_0x1191be['error'][_0xdf70('0x1c')]);return _0x3dd446(_0x1191be[_0xdf70('0x1a')]['message']);}logger[_0xdf70('0x1a')]('FaxAccount,\x20%s,\x20%s',_0x5aa955,_0x1191be[_0xdf70('0x1a')]['message']);return _0x41cc65(_0x1191be[_0xdf70('0x1a')][_0xdf70('0x1c')]);}else{logger[_0xdf70('0x15')](_0xdf70('0x16'),_0x5aa955,_0xdf70('0x17'));_0x41cc65(_0x1191be[_0xdf70('0x1d')][_0xdf70('0x1c')]);}})['catch'](function(_0x3adea2){logger[_0xdf70('0x1a')]('FaxAccount,\x20%s,\x20%s',_0x5aa955,_0x3adea2);_0x3dd446(_0x3adea2);});});}exports[_0xdf70('0x1e')]=function(_0x6e6be4){var _0x5c1e84=this;return new Promise(function(_0x16cda4,_0x36078c){return db[_0xdf70('0x1f')][_0xdf70('0x20')]({'raw':_0x6e6be4[_0xdf70('0x21')]?_0x6e6be4['options'][_0xdf70('0x22')]===undefined?!![]:![]:!![],'where':_0x6e6be4[_0xdf70('0x21')]?_0x6e6be4[_0xdf70('0x21')]['where']||null:null,'attributes':_0x6e6be4[_0xdf70('0x21')]?_0x6e6be4['options'][_0xdf70('0x23')]||null:null,'limit':_0x6e6be4['options']?_0x6e6be4[_0xdf70('0x21')][_0xdf70('0x24')]||null:null,'include':_0x6e6be4['options']?_0x6e6be4[_0xdf70('0x21')][_0xdf70('0x25')]?_[_0xdf70('0x26')](_0x6e6be4['options'][_0xdf70('0x25')],function(_0x55b69b){return{'model':db[_0x55b69b[_0xdf70('0x27')]],'as':_0x55b69b['as'],'attributes':_0x55b69b[_0xdf70('0x23')],'include':_0x55b69b[_0xdf70('0x25')]?_[_0xdf70('0x26')](_0x55b69b['include'],function(_0x51711f){return{'model':db[_0x51711f[_0xdf70('0x27')]],'as':_0x51711f['as'],'attributes':_0x51711f[_0xdf70('0x23')],'include':_0x51711f['include']?_['map'](_0x51711f['include'],function(_0x354408){return{'model':db[_0x354408[_0xdf70('0x27')]],'as':_0x354408['as'],'attributes':_0x354408[_0xdf70('0x23')]};}):[]};}):[]};}):[]:[]})[_0xdf70('0x14')](function(_0x1ea7f7){logger[_0xdf70('0x15')](_0xdf70('0x1e'),_0x6e6be4);logger[_0xdf70('0x28')](_0xdf70('0x1e'),_0x6e6be4,JSON[_0xdf70('0x19')](_0x1ea7f7));_0x16cda4(_0x1ea7f7);})[_0xdf70('0x29')](function(_0x205f24){logger['error'](_0xdf70('0x1e'),_0x205f24[_0xdf70('0x1c')],_0x6e6be4);_0x36078c(_0x5c1e84['error'](0x1f4,_0x205f24[_0xdf70('0x1c')]));});});};exports['NotifyFaxAccount']=function(_0x1932a6,_0xf365d6,_0x52abed){var _0x1b6212=this;return new Promise(function(_0x598718,_0x456f8a){var _0x2f2d57={'body':_0x1932a6[_0xdf70('0x2a')],'channel':_0xdf70('0x2b')};var _0x478810=[];var _0x41e906=[];var _0x443176={};return db[_0xdf70('0x2c')]['describe']()[_0xdf70('0x14')](function(_0x458d90){if(!_0x458d90){throw new db[(_0xdf70('0x2d'))]['ValidationError'](_0xdf70('0x2e'));}_0x478810=_[_0xdf70('0x2f')](_[_0xdf70('0x30')](_0x458d90),['createdAt',_0xdf70('0x31')]);_0x41e906=_[_0xdf70('0x2f')](_[_0xdf70('0x30')](_0x458d90),[_0xdf70('0x32'),_0xdf70('0x31'),_0xdf70('0x33'),_0xdf70('0x34')]);if(_0x1932a6[_0xdf70('0x2a')]['id']){delete _0x1932a6['body']['id'];}if(_[_0xdf70('0x35')](_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x36')])){throw new db[(_0xdf70('0x2d'))][(_0xdf70('0x37'))]('from\x20is\x20mandatory');}if(_['isNil'](_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x2a')])||_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x2a')]===''){throw new db[(_0xdf70('0x2d'))][(_0xdf70('0x37'))](_0xdf70('0x38'));}if(_[_0xdf70('0x35')](_0x1932a6['body'][_0xdf70('0x39')])){throw new db[(_0xdf70('0x2d'))][(_0xdf70('0x37'))](_0xdf70('0x3a')+_0x41e906);}if(!_[_0xdf70('0x3b')](_0x41e906,_0x1932a6[_0xdf70('0x2a')]['mapKey'])){throw new db[(_0xdf70('0x2d'))][(_0xdf70('0x37'))](_0xdf70('0x3c')+_0x41e906);}_0x443176[_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x39')]]=_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x36')];})[_0xdf70('0x14')](function(){return db[_0xdf70('0x1f')][_0xdf70('0x3d')]({'where':{'id':_0x1932a6[_0xdf70('0x3e')]['id']},'include':[{'model':db[_0xdf70('0x3f')],'as':_0xdf70('0x40'),'include':[{'model':db[_0xdf70('0x2c')],'as':_0xdf70('0x41'),'where':_0x443176,'limit':0x1,'order':[[_0xdf70('0x31'),_0xdf70('0x42')]]}]},{'model':db[_0xdf70('0x43')],'as':_0xdf70('0x44')}]});})[_0xdf70('0x14')](function(_0xacd4e3){if(_0xacd4e3&&_0xacd4e3['List']){var _0x41c2ef=_0xacd4e3[_0xdf70('0x45')]({'plain':!![]});_0x2f2d57[_0xdf70('0x3e')]=_0x41c2ef;_0x2f2d57['applications']=_0x41c2ef[_0xdf70('0x44')];_0x2f2d57[_0xdf70('0x46')]=_0x41c2ef[_0xdf70('0x40')];_0x2f2d57[_0xdf70('0x47')]=_[_0xdf70('0x48')](_0x2f2d57[_0xdf70('0x47')],[_0xdf70('0x49')],[_0xdf70('0x4a')]);if(_0x2f2d57[_0xdf70('0x3e')][_0xdf70('0x44')]){delete _0x2f2d57[_0xdf70('0x3e')][_0xdf70('0x44')];}if(_0x2f2d57[_0xdf70('0x3e')][_0xdf70('0x40')]&&_0x2f2d57[_0xdf70('0x3e')]['List'][_0xdf70('0x41')]['length']){return _0x2f2d57[_0xdf70('0x3e')][_0xdf70('0x40')][_0xdf70('0x41')][0x0];}var _0x310ef8=_[_0xdf70('0xe')](_0x1932a6[_0xdf70('0x2a')],{'firstName':_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x36')],'ListId':_0x41c2ef[_0xdf70('0x34')]});_0x310ef8[_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x39')]]=_0x1932a6['body'][_0xdf70('0x36')];return db[_0xdf70('0x2c')][_0xdf70('0x4b')](_0x310ef8,{'fields':_0x478810,'raw':!![]});}})[_0xdf70('0x14')](function(_0x7333ac){_0x2f2d57[_0xdf70('0x4c')]=_0x7333ac;if(_0x7333ac){var _0x1f0031={'ContactId':_0x7333ac['id'],'FaxAccountId':_0x1932a6[_0xdf70('0x3e')]['id'],'fax':_0x7333ac[_0xdf70('0x2b')]};return db[_0xdf70('0x4d')][_0xdf70('0x3d')]({'where':{'ContactId':_0x7333ac['id'],'closed':![],'FaxAccountId':_0x1932a6[_0xdf70('0x3e')]['id']}})['then'](function(_0x59cefd){if(_0x59cefd){return[_0x59cefd,![]];}return db[_0xdf70('0x4d')][_0xdf70('0x4b')](_0x1f0031)[_0xdf70('0x14')](function(_0x12c78e){return[_0x12c78e,!![]];});});}else{throw new Error(_0xdf70('0x4e'));}})[_0xdf70('0x4f')](function(_0x13a816,_0x5aedfd){var _0xfb6a38=_0x13a816[_0xdf70('0x45')]({'plain':!![]});if(_0x5aedfd){if(_0x2f2d57[_0xdf70('0x3e')][_0xdf70('0x50')]){_0x2f2d57[_0xdf70('0x47')][_0xdf70('0x51')]({'id':0x0,'priority':_0x2f2d57[_0xdf70('0x47')][_0xdf70('0x52')]+0x1,'app':_0xdf70('0x53'),'appdata':_0xdf70('0x54'),'interval':_0xdf70('0x55')});}_0xfb6a38[_0xdf70('0x56')]=!![];}else{_0xfb6a38[_0xdf70('0x56')]=![];}_0x2f2d57[_0xdf70('0x57')]=_0xfb6a38;return db[_0xdf70('0x58')][_0xdf70('0x4b')]({'body':_0x1932a6[_0xdf70('0x2a')][_0xdf70('0x2a')],'FaxAccountId':_0x1932a6[_0xdf70('0x3e')]['id'],'FaxInteractionId':_0x13a816['id'],'direction':'in','ContactId':_0x13a816[_0xdf70('0x59')],'AttachmentId':_0x1932a6[_0xdf70('0x2a')]['AttachmentId']});})['then'](function(_0x35bfa7){_0x2f2d57['message']=_0x35bfa7;if(!_0x2f2d57[_0xdf70('0x57')][_0xdf70('0x5a')])return;return db[_0xdf70('0x5b')][_0xdf70('0x3d')]({'attributes':['id',_0xdf70('0x5c')],'where':{'id':_0x2f2d57[_0xdf70('0x57')][_0xdf70('0x5a')]}});})[_0xdf70('0x14')](function(_0x47e373){if(_0x47e373){_0x2f2d57[_0xdf70('0x47')][_0xdf70('0x5d')]({'id':0x0,'priority':0x0,'app':_0xdf70('0x5e'),'appdata':_0x47e373['name']+','+(_0x2f2d57[_0xdf70('0x3e')][_0xdf70('0x5f')]||0xa),'interval':'*,*,*,*'});}if(!_0x2f2d57[_0xdf70('0x57')][_0xdf70('0x60')])return;return db[_0xdf70('0x61')][_0xdf70('0x3d')]({'attributes':['id',_0xdf70('0x5c')],'where':{'id':_0x2f2d57[_0xdf70('0x57')]['queueId']}});})[_0xdf70('0x14')](function(_0x5453ba){if(_0x5453ba){_0x2f2d57[_0xdf70('0x47')][_0xdf70('0x5d')]({'id':0x0,'priority':0x1,'app':'queue','appdata':_0x5453ba[_0xdf70('0x5c')]+','+(_0x2f2d57[_0xdf70('0x3e')][_0xdf70('0x62')]||0x12c),'interval':_0xdf70('0x55')});}return respondWithRpcPromise(_0xdf70('0x63'),_0xdf70('0x64'),_0x2f2d57);})['then'](function(_0x561c2f){_0x598718(_0x561c2f);})[_0xdf70('0x29')](function(_0x30fadf){_0x456f8a(_0x1b6212[_0xdf70('0x1a')](0x1f4,_0x30fadf[_0xdf70('0x1c')]));});});};