8b8e6741c2ef570974a532ed2205999ad451f20e
[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 _0xa1f3=['created','interaction','FaxMessage','ContactId','AttachmentId','UserId','User','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','util','moment','bluebird','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','jayson/promise','client','http','redis','localhost','socket.io-emitter','./faxAccount.socket','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','GetFaxAccount','findAll','options','where','attributes','include','map','model','catch','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','ListId','isNil','from','ValidationError','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','find','account','List','Contacts','DESC','FaxApplication','Applications','get','applications','list','orderBy','priority','asc','create','contact','FaxInteraction','Contact\x20not\x20found','spread','autoclose','push','length','unmanaged','*,*,*,*'];(function(_0x34f0a0,_0x416020){var _0x362291=function(_0x5ac72b){while(--_0x5ac72b){_0x34f0a0['push'](_0x34f0a0['shift']());}};_0x362291(++_0x416020);}(_0xa1f3,0x16d));var _0x3a1f=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0xa1f3[_0x4565bf];return _0x5610ba;};'use strict';var _=require('lodash');var util=require(_0x3a1f('0x0'));var moment=require(_0x3a1f('0x1'));var BPromise=require(_0x3a1f('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0x3a1f('0x3'))['db'];var utils=require(_0x3a1f('0x4'));var logger=require(_0x3a1f('0x5'))('rpc');var config=require(_0x3a1f('0x6'));var jayson=require(_0x3a1f('0x7'));var client=jayson[_0x3a1f('0x8')][_0x3a1f('0x9')]({'port':0x232c});config[_0x3a1f('0xa')]=_['defaults'](config[_0x3a1f('0xa')],{'host':_0x3a1f('0xb'),'port':0x18eb});var socket=require(_0x3a1f('0xc'))(new Redis(config[_0x3a1f('0xa')]));require(_0x3a1f('0xd'))['register'](socket);function respondWithRpcPromise(_0x508a6b,_0x1e7e7b,_0x40fce4){return new BPromise(function(_0x1da9f9,_0x2ad68a){return client[_0x3a1f('0xe')](_0x508a6b,_0x40fce4)[_0x3a1f('0xf')](function(_0x41f449){logger[_0x3a1f('0x10')](_0x3a1f('0x11'),_0x1e7e7b,_0x3a1f('0x12'));logger[_0x3a1f('0x13')](_0x3a1f('0x14'),_0x1e7e7b,_0x3a1f('0x12'),JSON[_0x3a1f('0x15')](_0x41f449));if(_0x41f449[_0x3a1f('0x16')]){if(_0x41f449[_0x3a1f('0x16')][_0x3a1f('0x17')]===0x1f4){logger[_0x3a1f('0x16')](_0x3a1f('0x11'),_0x1e7e7b,_0x41f449[_0x3a1f('0x16')][_0x3a1f('0x18')]);return _0x2ad68a(_0x41f449[_0x3a1f('0x16')][_0x3a1f('0x18')]);}logger['error']('FaxAccount,\x20%s,\x20%s',_0x1e7e7b,_0x41f449[_0x3a1f('0x16')]['message']);return _0x1da9f9(_0x41f449['error'][_0x3a1f('0x18')]);}else{logger[_0x3a1f('0x10')](_0x3a1f('0x11'),_0x1e7e7b,_0x3a1f('0x12'));_0x1da9f9(_0x41f449[_0x3a1f('0x19')][_0x3a1f('0x18')]);}})['catch'](function(_0x17a4bb){logger[_0x3a1f('0x16')](_0x3a1f('0x11'),_0x1e7e7b,_0x17a4bb);_0x2ad68a(_0x17a4bb);});});}exports[_0x3a1f('0x1a')]=function(_0x243559){var _0x1dac4b=this;return new Promise(function(_0x528704,_0x5882a4){return db['FaxAccount'][_0x3a1f('0x1b')]({'raw':_0x243559[_0x3a1f('0x1c')]?_0x243559['options']['raw']===undefined?!![]:![]:!![],'where':_0x243559[_0x3a1f('0x1c')]?_0x243559['options'][_0x3a1f('0x1d')]||null:null,'attributes':_0x243559[_0x3a1f('0x1c')]?_0x243559[_0x3a1f('0x1c')][_0x3a1f('0x1e')]||null:null,'limit':_0x243559['options']?_0x243559[_0x3a1f('0x1c')]['limit']||null:null,'include':_0x243559[_0x3a1f('0x1c')]?_0x243559[_0x3a1f('0x1c')][_0x3a1f('0x1f')]?_[_0x3a1f('0x20')](_0x243559['options'][_0x3a1f('0x1f')],function(_0x2f8a0b){return{'model':db[_0x2f8a0b['model']],'as':_0x2f8a0b['as'],'attributes':_0x2f8a0b['attributes'],'include':_0x2f8a0b[_0x3a1f('0x1f')]?_[_0x3a1f('0x20')](_0x2f8a0b[_0x3a1f('0x1f')],function(_0x42fb4e){return{'model':db[_0x42fb4e['model']],'as':_0x42fb4e['as'],'attributes':_0x42fb4e[_0x3a1f('0x1e')],'include':_0x42fb4e[_0x3a1f('0x1f')]?_[_0x3a1f('0x20')](_0x42fb4e[_0x3a1f('0x1f')],function(_0x35c59a){return{'model':db[_0x35c59a[_0x3a1f('0x21')]],'as':_0x35c59a['as'],'attributes':_0x35c59a[_0x3a1f('0x1e')]};}):[]};}):[]};}):[]:[]})[_0x3a1f('0xf')](function(_0x3539c8){logger['info'](_0x3a1f('0x1a'),_0x243559);logger[_0x3a1f('0x13')](_0x3a1f('0x1a'),_0x243559,JSON['stringify'](_0x3539c8));_0x528704(_0x3539c8);})[_0x3a1f('0x22')](function(_0x429f2c){logger[_0x3a1f('0x16')](_0x3a1f('0x1a'),_0x429f2c[_0x3a1f('0x18')],_0x243559);_0x5882a4(_0x1dac4b[_0x3a1f('0x16')](0x1f4,_0x429f2c['message']));});});};exports[_0x3a1f('0x23')]=function(_0xa8b3a1,_0x12ed1a,_0x551397){var _0x16a73c=this;return new Promise(function(_0x4144e7,_0x2f360a){var _0x43554c={'body':_0xa8b3a1[_0x3a1f('0x24')],'channel':_0x3a1f('0x25')};var _0x2224c7=[];var _0xc9efe0=[];var _0x4997de={};return db[_0x3a1f('0x26')][_0x3a1f('0x27')]()[_0x3a1f('0xf')](function(_0x42e247){if(!_0x42e247){throw new db[(_0x3a1f('0x28'))]['ValidationError'](_0x3a1f('0x29'));}_0x2224c7=_[_0x3a1f('0x2a')](_[_0x3a1f('0x2b')](_0x42e247),[_0x3a1f('0x2c'),'updatedAt']);_0xc9efe0=_[_0x3a1f('0x2a')](_[_0x3a1f('0x2b')](_0x42e247),[_0x3a1f('0x2c'),_0x3a1f('0x2d'),'CompanyId',_0x3a1f('0x2e')]);if(_0xa8b3a1[_0x3a1f('0x24')]['id']){delete _0xa8b3a1['body']['id'];}if(_[_0x3a1f('0x2f')](_0xa8b3a1['body'][_0x3a1f('0x30')])){throw new db['Sequelize'][(_0x3a1f('0x31'))]('from\x20is\x20mandatory');}if(_[_0x3a1f('0x2f')](_0xa8b3a1['body'][_0x3a1f('0x24')])||_0xa8b3a1[_0x3a1f('0x24')][_0x3a1f('0x24')]===''){throw new db[(_0x3a1f('0x28'))][(_0x3a1f('0x31'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0x3a1f('0x2f')](_0xa8b3a1[_0x3a1f('0x24')][_0x3a1f('0x32')])){throw new db[(_0x3a1f('0x28'))]['ValidationError'](_0x3a1f('0x33')+_0xc9efe0);}if(!_['includes'](_0xc9efe0,_0xa8b3a1[_0x3a1f('0x24')]['mapKey'])){throw new db[(_0x3a1f('0x28'))][(_0x3a1f('0x31'))]('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0xc9efe0);}_0x4997de[_0xa8b3a1[_0x3a1f('0x24')]['mapKey']]=_0xa8b3a1['body'][_0x3a1f('0x30')];})[_0x3a1f('0xf')](function(){return db['FaxAccount'][_0x3a1f('0x34')]({'where':{'id':_0xa8b3a1[_0x3a1f('0x35')]['id']},'include':[{'model':db['CmList'],'as':_0x3a1f('0x36'),'include':[{'model':db['CmContact'],'as':_0x3a1f('0x37'),'where':_0x4997de,'limit':0x1,'order':[['updatedAt',_0x3a1f('0x38')]]}]},{'model':db[_0x3a1f('0x39')],'as':_0x3a1f('0x3a')}]});})[_0x3a1f('0xf')](function(_0x508b75){if(_0x508b75&&_0x508b75[_0x3a1f('0x36')]){var _0x582ac8=_0x508b75[_0x3a1f('0x3b')]({'plain':!![]});_0x43554c['account']=_0x582ac8;_0x43554c[_0x3a1f('0x3c')]=_0x582ac8[_0x3a1f('0x3a')];_0x43554c[_0x3a1f('0x3d')]=_0x582ac8[_0x3a1f('0x36')];_0x43554c[_0x3a1f('0x3c')]=_[_0x3a1f('0x3e')](_0x43554c[_0x3a1f('0x3c')],[_0x3a1f('0x3f')],[_0x3a1f('0x40')]);if(_0x43554c['account']['Applications']){delete _0x43554c[_0x3a1f('0x35')][_0x3a1f('0x3a')];}if(_0x43554c[_0x3a1f('0x35')][_0x3a1f('0x36')]&&_0x43554c[_0x3a1f('0x35')][_0x3a1f('0x36')][_0x3a1f('0x37')]['length']){return _0x43554c[_0x3a1f('0x35')]['List'][_0x3a1f('0x37')][0x0];}var _0x23ec27=_['defaults'](_0xa8b3a1[_0x3a1f('0x24')],{'firstName':_0xa8b3a1['body'][_0x3a1f('0x30')],'ListId':_0x582ac8[_0x3a1f('0x2e')]});_0x23ec27[_0xa8b3a1['body'][_0x3a1f('0x32')]]=_0xa8b3a1['body'][_0x3a1f('0x30')];return db[_0x3a1f('0x26')][_0x3a1f('0x41')](_0x23ec27,{'fields':_0x2224c7,'raw':!![]});}})['then'](function(_0x5c5664){_0x43554c[_0x3a1f('0x42')]=_0x5c5664;if(_0x5c5664){var _0x2c6ba0={'ContactId':_0x5c5664['id'],'FaxAccountId':_0xa8b3a1['account']['id'],'fax':_0x5c5664['fax']};return db[_0x3a1f('0x43')][_0x3a1f('0x34')]({'where':{'ContactId':_0x5c5664['id'],'closed':![],'FaxAccountId':_0xa8b3a1['account']['id']}})[_0x3a1f('0xf')](function(_0xf82cc){if(_0xf82cc){return[_0xf82cc,![]];}return db[_0x3a1f('0x43')][_0x3a1f('0x41')](_0x2c6ba0)[_0x3a1f('0xf')](function(_0x50a333){return[_0x50a333,!![]];});});}else{throw new Error(_0x3a1f('0x44'));}})[_0x3a1f('0x45')](function(_0x201043,_0x5a9fa8){var _0x3d503c=_0x201043[_0x3a1f('0x3b')]({'plain':!![]});if(_0x5a9fa8){if(_0x43554c[_0x3a1f('0x35')][_0x3a1f('0x46')]){_0x43554c['applications'][_0x3a1f('0x47')]({'id':0x0,'priority':_0x43554c[_0x3a1f('0x3c')][_0x3a1f('0x48')]+0x1,'app':'close','appdata':_0x3a1f('0x49'),'interval':_0x3a1f('0x4a')});}_0x3d503c[_0x3a1f('0x4b')]=!![];}else{_0x3d503c[_0x3a1f('0x4b')]=![];}_0x43554c[_0x3a1f('0x4c')]=_0x3d503c;return db[_0x3a1f('0x4d')][_0x3a1f('0x41')]({'body':_0xa8b3a1['body'][_0x3a1f('0x24')],'FaxAccountId':_0xa8b3a1[_0x3a1f('0x35')]['id'],'FaxInteractionId':_0x201043['id'],'direction':'in','ContactId':_0x201043[_0x3a1f('0x4e')],'AttachmentId':_0xa8b3a1[_0x3a1f('0x24')][_0x3a1f('0x4f')]});})['then'](function(_0x23ae04){_0x43554c[_0x3a1f('0x18')]=_0x23ae04;if(_0x43554c[_0x3a1f('0x4c')][_0x3a1f('0x50')]){return db[_0x3a1f('0x51')][_0x3a1f('0x34')]({'attributes':['id',_0x3a1f('0x52')],'where':{'id':_0x43554c[_0x3a1f('0x4c')]['UserId']}})[_0x3a1f('0xf')](function(_0x249d51){if(_0x249d51){_0x43554c[_0x3a1f('0x3c')][_0x3a1f('0x53')]({'id':0x0,'priority':0x0,'app':_0x3a1f('0x54'),'appdata':_0x249d51[_0x3a1f('0x52')]+','+(_0x43554c[_0x3a1f('0x35')][_0x3a1f('0x55')]||0xa),'interval':_0x3a1f('0x4a')});}return respondWithRpcPromise(_0x3a1f('0x56'),_0x3a1f('0x57'),_0x43554c);});}return respondWithRpcPromise(_0x3a1f('0x56'),'startRouting',_0x43554c);})[_0x3a1f('0xf')](function(_0x5a5b09){_0x4144e7(_0x5a5b09);})['catch'](function(_0x4eb10b){_0x2f360a(_0x16a73c[_0x3a1f('0x16')](0x1f4,_0x4eb10b[_0x3a1f('0x18')]));});});};