Built motion from commit (unavailable).|2.5.22
[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 _0xe02c=['CompanyId','ListId','Sequelize','from\x20is\x20mandatory','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','from','FaxAccount','find','CmList','FaxApplication','Applications','List','get','account','applications','priority','asc','Contacts','length','create','contact','FaxInteraction','Contact\x20not\x20found','spread','autoclose','close','unmanaged','*,*,*,*','created','interaction','FaxMessage','UserId','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','catch','moment','bluebird','ioredis','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','register','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','GetFaxAccount','findAll','options','raw','attributes','limit','map','include','model','then','stringify','body','fax','CmContact','ValidationError','no\x20available\x20attributes','difference','updatedAt','keys'];(function(_0x1d36f3,_0x59ccf7){var _0xf3c3e=function(_0xfafc7b){while(--_0xfafc7b){_0x1d36f3['push'](_0x1d36f3['shift']());}};_0xf3c3e(++_0x59ccf7);}(_0xe02c,0x82));var _0xce02=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xe02c[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0xce02('0x0'));var BPromise=require(_0xce02('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xce02('0x2'));var db=require(_0xce02('0x3'))['db'];var utils=require('../../config/utils');var logger=require(_0xce02('0x4'))(_0xce02('0x5'));var config=require(_0xce02('0x6'));var jayson=require(_0xce02('0x7'));var client=jayson[_0xce02('0x8')][_0xce02('0x9')]({'port':0x232c});config[_0xce02('0xa')]=_[_0xce02('0xb')](config[_0xce02('0xa')],{'host':_0xce02('0xc'),'port':0x18eb});var socket=require(_0xce02('0xd'))(new Redis(config['redis']));require(_0xce02('0xe'))[_0xce02('0xf')](socket);function respondWithRpcPromise(_0x3ffc2d,_0x198b1f,_0x35dee1){return new BPromise(function(_0x5e6eea,_0x132332){return client['request'](_0x3ffc2d,_0x35dee1)['then'](function(_0xe76c64){logger[_0xce02('0x10')](_0xce02('0x11'),_0x198b1f,_0xce02('0x12'));logger[_0xce02('0x13')](_0xce02('0x14'),_0x198b1f,_0xce02('0x12'),JSON['stringify'](_0xe76c64));if(_0xe76c64[_0xce02('0x15')]){if(_0xe76c64['error'][_0xce02('0x16')]===0x1f4){logger['error'](_0xce02('0x11'),_0x198b1f,_0xe76c64[_0xce02('0x15')][_0xce02('0x17')]);return _0x132332(_0xe76c64[_0xce02('0x15')][_0xce02('0x17')]);}logger['error'](_0xce02('0x11'),_0x198b1f,_0xe76c64[_0xce02('0x15')][_0xce02('0x17')]);return _0x5e6eea(_0xe76c64[_0xce02('0x15')][_0xce02('0x17')]);}else{logger['info'](_0xce02('0x11'),_0x198b1f,_0xce02('0x12'));_0x5e6eea(_0xe76c64[_0xce02('0x18')][_0xce02('0x17')]);}})['catch'](function(_0x632873){logger[_0xce02('0x15')]('FaxAccount,\x20%s,\x20%s',_0x198b1f,_0x632873);_0x132332(_0x632873);});});}exports[_0xce02('0x19')]=function(_0x981776){var _0x125460=this;return new Promise(function(_0x340cd7,_0x323c01){return db['FaxAccount'][_0xce02('0x1a')]({'raw':_0x981776[_0xce02('0x1b')]?_0x981776['options'][_0xce02('0x1c')]===undefined?!![]:![]:!![],'where':_0x981776[_0xce02('0x1b')]?_0x981776[_0xce02('0x1b')]['where']||null:null,'attributes':_0x981776[_0xce02('0x1b')]?_0x981776[_0xce02('0x1b')][_0xce02('0x1d')]||null:null,'limit':_0x981776[_0xce02('0x1b')]?_0x981776[_0xce02('0x1b')][_0xce02('0x1e')]||null:null,'include':_0x981776[_0xce02('0x1b')]?_0x981776[_0xce02('0x1b')]['include']?_[_0xce02('0x1f')](_0x981776[_0xce02('0x1b')][_0xce02('0x20')],function(_0x4c7bd4){return{'model':db[_0x4c7bd4['model']],'as':_0x4c7bd4['as'],'attributes':_0x4c7bd4[_0xce02('0x1d')],'include':_0x4c7bd4[_0xce02('0x20')]?_[_0xce02('0x1f')](_0x4c7bd4[_0xce02('0x20')],function(_0x577e54){return{'model':db[_0x577e54[_0xce02('0x21')]],'as':_0x577e54['as'],'attributes':_0x577e54['attributes'],'include':_0x577e54[_0xce02('0x20')]?_['map'](_0x577e54['include'],function(_0x28435c){return{'model':db[_0x28435c[_0xce02('0x21')]],'as':_0x28435c['as'],'attributes':_0x28435c['attributes']};}):[]};}):[]};}):[]:[]})[_0xce02('0x22')](function(_0x5c2d73){logger[_0xce02('0x10')](_0xce02('0x19'),_0x981776);logger[_0xce02('0x13')]('GetFaxAccount',_0x981776,JSON[_0xce02('0x23')](_0x5c2d73));_0x340cd7(_0x5c2d73);})['catch'](function(_0x565aa){logger[_0xce02('0x15')](_0xce02('0x19'),_0x565aa[_0xce02('0x17')],_0x981776);_0x323c01(_0x125460['error'](0x1f4,_0x565aa[_0xce02('0x17')]));});});};exports['NotifyFaxAccount']=function(_0x1ad8b7,_0x4cafc9,_0x311b91){var _0x5c9a28=this;return new Promise(function(_0x4c115d,_0x4af11a){var _0x5484df={'body':_0x1ad8b7[_0xce02('0x24')],'channel':_0xce02('0x25')};var _0x269778=[];var _0x42f19e=[];var _0x3e33a3={};return db[_0xce02('0x26')]['describe']()[_0xce02('0x22')](function(_0x471014){if(!_0x471014){throw new db['Sequelize'][(_0xce02('0x27'))](_0xce02('0x28'));}_0x269778=_[_0xce02('0x29')](_['keys'](_0x471014),['createdAt',_0xce02('0x2a')]);_0x42f19e=_[_0xce02('0x29')](_[_0xce02('0x2b')](_0x471014),['createdAt',_0xce02('0x2a'),_0xce02('0x2c'),_0xce02('0x2d')]);if(_0x1ad8b7[_0xce02('0x24')]['id']){delete _0x1ad8b7[_0xce02('0x24')]['id'];}if(_['isNil'](_0x1ad8b7[_0xce02('0x24')]['from'])){throw new db[(_0xce02('0x2e'))][(_0xce02('0x27'))](_0xce02('0x2f'));}if(_['isNil'](_0x1ad8b7['body'][_0xce02('0x24')])||_0x1ad8b7[_0xce02('0x24')][_0xce02('0x24')]===''){throw new db[(_0xce02('0x2e'))]['ValidationError'](_0xce02('0x30'));}if(_['isNil'](_0x1ad8b7['body'][_0xce02('0x31')])){throw new db[(_0xce02('0x2e'))][(_0xce02('0x27'))](_0xce02('0x32')+_0x42f19e);}if(!_[_0xce02('0x33')](_0x42f19e,_0x1ad8b7[_0xce02('0x24')][_0xce02('0x31')])){throw new db['Sequelize'][(_0xce02('0x27'))](_0xce02('0x34')+_0x42f19e);}_0x3e33a3[_0x1ad8b7[_0xce02('0x24')][_0xce02('0x31')]]=_0x1ad8b7[_0xce02('0x24')][_0xce02('0x35')];})[_0xce02('0x22')](function(){return db[_0xce02('0x36')][_0xce02('0x37')]({'where':{'id':_0x1ad8b7['account']['id']},'include':[{'model':db[_0xce02('0x38')],'as':'List','include':[{'model':db[_0xce02('0x26')],'as':'Contacts','where':_0x3e33a3,'limit':0x1,'order':[[_0xce02('0x2a'),'DESC']]}]},{'model':db[_0xce02('0x39')],'as':_0xce02('0x3a')}]});})[_0xce02('0x22')](function(_0x57c8fb){if(_0x57c8fb&&_0x57c8fb[_0xce02('0x3b')]){var _0x27b99c=_0x57c8fb[_0xce02('0x3c')]({'plain':!![]});_0x5484df[_0xce02('0x3d')]=_0x27b99c;_0x5484df['applications']=_0x27b99c['Applications'];_0x5484df['list']=_0x27b99c[_0xce02('0x3b')];_0x5484df[_0xce02('0x3e')]=_['orderBy'](_0x5484df[_0xce02('0x3e')],[_0xce02('0x3f')],[_0xce02('0x40')]);if(_0x5484df[_0xce02('0x3d')]['Applications']){delete _0x5484df[_0xce02('0x3d')][_0xce02('0x3a')];}if(_0x5484df['account'][_0xce02('0x3b')]&&_0x5484df[_0xce02('0x3d')][_0xce02('0x3b')][_0xce02('0x41')][_0xce02('0x42')]){return _0x5484df[_0xce02('0x3d')][_0xce02('0x3b')][_0xce02('0x41')][0x0];}var _0x251c7c=_[_0xce02('0xb')](_0x1ad8b7['body'],{'firstName':_0x1ad8b7[_0xce02('0x24')][_0xce02('0x35')],'ListId':_0x27b99c[_0xce02('0x2d')]});_0x251c7c[_0x1ad8b7['body'][_0xce02('0x31')]]=_0x1ad8b7['body'][_0xce02('0x35')];return db[_0xce02('0x26')][_0xce02('0x43')](_0x251c7c,{'fields':_0x269778,'raw':!![]});}})[_0xce02('0x22')](function(_0x174f2d){_0x5484df[_0xce02('0x44')]=_0x174f2d;if(_0x174f2d){var _0x2f617f={'ContactId':_0x174f2d['id'],'FaxAccountId':_0x1ad8b7[_0xce02('0x3d')]['id'],'fax':_0x174f2d[_0xce02('0x25')]};return db[_0xce02('0x45')]['find']({'where':{'ContactId':_0x174f2d['id'],'closed':![],'FaxAccountId':_0x1ad8b7[_0xce02('0x3d')]['id']}})[_0xce02('0x22')](function(_0x193c54){if(_0x193c54){return[_0x193c54,![]];}return db[_0xce02('0x45')][_0xce02('0x43')](_0x2f617f)['then'](function(_0xc5904e){return[_0xc5904e,!![]];});});}else{throw new Error(_0xce02('0x46'));}})[_0xce02('0x47')](function(_0x116985,_0xeace05){var _0x3a6662=_0x116985[_0xce02('0x3c')]({'plain':!![]});if(_0xeace05){if(_0x5484df['account'][_0xce02('0x48')]){_0x5484df[_0xce02('0x3e')]['push']({'id':0x0,'priority':_0x5484df[_0xce02('0x3e')][_0xce02('0x42')]+0x1,'app':_0xce02('0x49'),'appdata':_0xce02('0x4a'),'interval':_0xce02('0x4b')});}_0x3a6662[_0xce02('0x4c')]=!![];}else{_0x3a6662['created']=![];}_0x5484df[_0xce02('0x4d')]=_0x3a6662;return db[_0xce02('0x4e')][_0xce02('0x43')]({'body':_0x1ad8b7[_0xce02('0x24')][_0xce02('0x24')],'FaxAccountId':_0x1ad8b7[_0xce02('0x3d')]['id'],'FaxInteractionId':_0x116985['id'],'direction':'in','ContactId':_0x116985['ContactId'],'AttachmentId':_0x1ad8b7[_0xce02('0x24')]['AttachmentId']});})[_0xce02('0x22')](function(_0x581e93){_0x5484df[_0xce02('0x17')]=_0x581e93;if(_0x5484df[_0xce02('0x4d')][_0xce02('0x4f')]){return db['User'][_0xce02('0x37')]({'attributes':['id',_0xce02('0x50')],'where':{'id':_0x5484df[_0xce02('0x4d')]['UserId']}})[_0xce02('0x22')](function(_0x5a8b2d){if(_0x5a8b2d){_0x5484df[_0xce02('0x3e')][_0xce02('0x51')]({'id':0x0,'priority':0x0,'app':_0xce02('0x52'),'appdata':_0x5a8b2d[_0xce02('0x50')]+','+(_0x5484df['account'][_0xce02('0x53')]||0xa),'interval':_0xce02('0x4b')});}return respondWithRpcPromise(_0xce02('0x54'),_0xce02('0x55'),_0x5484df);});}return respondWithRpcPromise(_0xce02('0x54'),_0xce02('0x55'),_0x5484df);})[_0xce02('0x22')](function(_0x561000){_0x4c115d(_0x561000);})[_0xce02('0x56')](function(_0x4fb176){_0x4af11a(_0x5c9a28[_0xce02('0x15')](0x1f4,_0x4fb176[_0xce02('0x17')]));});});};