Built motion from commit (unavailable).|2.2.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 _0xdab4=['limit','map','include','model','stringify','fax','describe','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','CompanyId','ListId','body','Sequelize','from\x20is\x20mandatory','isNil','body\x20is\x20mandatory\x20and\x20not\x20empty','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','FaxAccount','find','account','CmList','List','CmContact','DESC','Applications','applications','list','orderBy','Contacts','from','create','contact','FaxInteraction','Contact\x20not\x20found','spread','get','autoclose','push','unmanaged','created','interaction','FaxMessage','ContactId','UserId','unshift','agent','name','waitForTheAssignedAgent','Start','startRouting','catch','lodash','util','moment','bluebird','randomstring','ioredis','../../config/logger','rpc','../../config/environment','jayson/promise','client','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','register','request','then','info','FaxAccount,\x20%s,\x20%s','debug','FaxAccount,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','GetFaxAccount','findAll','options','where','attributes'];(function(_0xc32a4c,_0x28c58e){var _0x4e8a9e=function(_0x2f7fd1){while(--_0x2f7fd1){_0xc32a4c['push'](_0xc32a4c['shift']());}};_0x4e8a9e(++_0x28c58e);}(_0xdab4,0x92));var _0x4dab=function(_0x33c4bb,_0x398bfc){_0x33c4bb=_0x33c4bb-0x0;var _0x17acba=_0xdab4[_0x33c4bb];return _0x17acba;};'use strict';var _=require(_0x4dab('0x0'));var util=require(_0x4dab('0x1'));var moment=require(_0x4dab('0x2'));var BPromise=require(_0x4dab('0x3'));var rs=require(_0x4dab('0x4'));var fs=require('fs');var Redis=require(_0x4dab('0x5'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require(_0x4dab('0x6'))(_0x4dab('0x7'));var config=require(_0x4dab('0x8'));var jayson=require(_0x4dab('0x9'));var client=jayson[_0x4dab('0xa')]['http']({'port':0x232c});config[_0x4dab('0xb')]=_[_0x4dab('0xc')](config['redis'],{'host':_0x4dab('0xd'),'port':0x18eb});var socket=require(_0x4dab('0xe'))(new Redis(config['redis']));require(_0x4dab('0xf'))[_0x4dab('0x10')](socket);function respondWithRpcPromise(_0x4fa805,_0x4cec93,_0x1392c1){return new BPromise(function(_0x3341e5,_0x244201){return client[_0x4dab('0x11')](_0x4fa805,_0x1392c1)[_0x4dab('0x12')](function(_0x46bb75){logger[_0x4dab('0x13')](_0x4dab('0x14'),_0x4cec93,'request\x20sent');logger[_0x4dab('0x15')](_0x4dab('0x16'),_0x4cec93,_0x4dab('0x17'),JSON['stringify'](_0x46bb75));if(_0x46bb75[_0x4dab('0x18')]){if(_0x46bb75['error'][_0x4dab('0x19')]===0x1f4){logger[_0x4dab('0x18')](_0x4dab('0x14'),_0x4cec93,_0x46bb75[_0x4dab('0x18')]['message']);return _0x244201(_0x46bb75[_0x4dab('0x18')][_0x4dab('0x1a')]);}logger['error'](_0x4dab('0x14'),_0x4cec93,_0x46bb75['error']['message']);return _0x3341e5(_0x46bb75[_0x4dab('0x18')][_0x4dab('0x1a')]);}else{logger[_0x4dab('0x13')]('FaxAccount,\x20%s,\x20%s',_0x4cec93,'request\x20sent');_0x3341e5(_0x46bb75['result'][_0x4dab('0x1a')]);}})['catch'](function(_0x36b752){logger[_0x4dab('0x18')](_0x4dab('0x14'),_0x4cec93,_0x36b752);_0x244201(_0x36b752);});});}exports[_0x4dab('0x1b')]=function(_0x15449e){var _0x40c5c0=this;return new Promise(function(_0x28ac45,_0x1aee21){return db['FaxAccount'][_0x4dab('0x1c')]({'raw':_0x15449e[_0x4dab('0x1d')]?_0x15449e[_0x4dab('0x1d')]['raw']===undefined?!![]:![]:!![],'where':_0x15449e[_0x4dab('0x1d')]?_0x15449e[_0x4dab('0x1d')][_0x4dab('0x1e')]||null:null,'attributes':_0x15449e[_0x4dab('0x1d')]?_0x15449e['options'][_0x4dab('0x1f')]||null:null,'limit':_0x15449e[_0x4dab('0x1d')]?_0x15449e['options'][_0x4dab('0x20')]||null:null,'include':_0x15449e[_0x4dab('0x1d')]?_0x15449e['options']['include']?_[_0x4dab('0x21')](_0x15449e[_0x4dab('0x1d')][_0x4dab('0x22')],function(_0x3bf208){return{'model':db[_0x3bf208['model']],'as':_0x3bf208['as'],'attributes':_0x3bf208[_0x4dab('0x1f')],'include':_0x3bf208[_0x4dab('0x22')]?_[_0x4dab('0x21')](_0x3bf208[_0x4dab('0x22')],function(_0x3d7d99){return{'model':db[_0x3d7d99[_0x4dab('0x23')]],'as':_0x3d7d99['as'],'attributes':_0x3d7d99[_0x4dab('0x1f')],'include':_0x3d7d99[_0x4dab('0x22')]?_[_0x4dab('0x21')](_0x3d7d99['include'],function(_0x2012ac){return{'model':db[_0x2012ac[_0x4dab('0x23')]],'as':_0x2012ac['as'],'attributes':_0x2012ac[_0x4dab('0x1f')]};}):[]};}):[]};}):[]:[]})[_0x4dab('0x12')](function(_0x544871){logger[_0x4dab('0x13')](_0x4dab('0x1b'),_0x15449e);logger['debug']('GetFaxAccount',_0x15449e,JSON[_0x4dab('0x24')](_0x544871));_0x28ac45(_0x544871);})['catch'](function(_0x4508cf){logger[_0x4dab('0x18')]('GetFaxAccount',_0x4508cf[_0x4dab('0x1a')],_0x15449e);_0x1aee21(_0x40c5c0[_0x4dab('0x18')](0x1f4,_0x4508cf[_0x4dab('0x1a')]));});});};exports['NotifyFaxAccount']=function(_0x251978,_0x19b5b9,_0x4bc6e5){var _0x417768=this;return new Promise(function(_0x5bc060,_0x1084a2){var _0x26ee3a={'body':_0x251978['body'],'channel':_0x4dab('0x25')};var _0x2aa16d=[];var _0x12f360=[];var _0x58276a={};return db['CmContact'][_0x4dab('0x26')]()[_0x4dab('0x12')](function(_0x30c1e1){if(!_0x30c1e1){throw new db['Sequelize'][(_0x4dab('0x27'))](_0x4dab('0x28'));}_0x2aa16d=_[_0x4dab('0x29')](_[_0x4dab('0x2a')](_0x30c1e1),[_0x4dab('0x2b'),_0x4dab('0x2c')]);_0x12f360=_[_0x4dab('0x29')](_['keys'](_0x30c1e1),['createdAt','updatedAt',_0x4dab('0x2d'),_0x4dab('0x2e')]);if(_0x251978[_0x4dab('0x2f')]['id']){delete _0x251978[_0x4dab('0x2f')]['id'];}if(_['isNil'](_0x251978[_0x4dab('0x2f')]['from'])){throw new db[(_0x4dab('0x30'))]['ValidationError'](_0x4dab('0x31'));}if(_[_0x4dab('0x32')](_0x251978['body'][_0x4dab('0x2f')])||_0x251978[_0x4dab('0x2f')][_0x4dab('0x2f')]===''){throw new db['Sequelize'][(_0x4dab('0x27'))](_0x4dab('0x33'));}if(_[_0x4dab('0x32')](_0x251978[_0x4dab('0x2f')]['mapKey'])){throw new db['Sequelize'][(_0x4dab('0x27'))]('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x12f360);}if(!_[_0x4dab('0x34')](_0x12f360,_0x251978[_0x4dab('0x2f')][_0x4dab('0x35')])){throw new db[(_0x4dab('0x30'))]['ValidationError'](_0x4dab('0x36')+_0x12f360);}_0x58276a[_0x251978[_0x4dab('0x2f')]['mapKey']]=_0x251978[_0x4dab('0x2f')]['from'];})[_0x4dab('0x12')](function(){return db[_0x4dab('0x37')][_0x4dab('0x38')]({'where':{'id':_0x251978[_0x4dab('0x39')]['id']},'include':[{'model':db[_0x4dab('0x3a')],'as':_0x4dab('0x3b'),'include':[{'model':db[_0x4dab('0x3c')],'as':'Contacts','where':_0x58276a,'limit':0x1,'order':[[_0x4dab('0x2c'),_0x4dab('0x3d')]]}]},{'model':db['FaxApplication'],'as':_0x4dab('0x3e')}]});})[_0x4dab('0x12')](function(_0x148ab2){if(_0x148ab2&&_0x148ab2[_0x4dab('0x3b')]){var _0x5830a2=_0x148ab2['get']({'plain':!![]});_0x26ee3a[_0x4dab('0x39')]=_0x5830a2;_0x26ee3a[_0x4dab('0x3f')]=_0x5830a2[_0x4dab('0x3e')];_0x26ee3a[_0x4dab('0x40')]=_0x5830a2[_0x4dab('0x3b')];_0x26ee3a[_0x4dab('0x3f')]=_[_0x4dab('0x41')](_0x26ee3a[_0x4dab('0x3f')],['priority'],['asc']);if(_0x26ee3a[_0x4dab('0x39')]['Applications']){delete _0x26ee3a['account'][_0x4dab('0x3e')];}if(_0x26ee3a[_0x4dab('0x39')][_0x4dab('0x3b')]&&_0x26ee3a[_0x4dab('0x39')][_0x4dab('0x3b')][_0x4dab('0x42')]['length']){return _0x26ee3a[_0x4dab('0x39')]['List'][_0x4dab('0x42')][0x0];}var _0x2149d4=_[_0x4dab('0xc')](_0x251978[_0x4dab('0x2f')],{'firstName':_0x251978[_0x4dab('0x2f')][_0x4dab('0x43')],'ListId':_0x5830a2['ListId']});_0x2149d4[_0x251978[_0x4dab('0x2f')]['mapKey']]=_0x251978['body'][_0x4dab('0x43')];return db[_0x4dab('0x3c')][_0x4dab('0x44')](_0x2149d4,{'fields':_0x2aa16d,'raw':!![]});}})[_0x4dab('0x12')](function(_0x4906f1){_0x26ee3a[_0x4dab('0x45')]=_0x4906f1;if(_0x4906f1){var _0x5d3a34={'ContactId':_0x4906f1['id'],'FaxAccountId':_0x251978[_0x4dab('0x39')]['id'],'fax':_0x4906f1[_0x4dab('0x25')]};return db['FaxInteraction']['find']({'where':{'ContactId':_0x4906f1['id'],'closed':![],'FaxAccountId':_0x251978[_0x4dab('0x39')]['id']}})[_0x4dab('0x12')](function(_0x2337d5){if(_0x2337d5){return[_0x2337d5,![]];}return db[_0x4dab('0x46')][_0x4dab('0x44')](_0x5d3a34)[_0x4dab('0x12')](function(_0xf8bb8){return[_0xf8bb8,!![]];});});}else{throw new Error(_0x4dab('0x47'));}})[_0x4dab('0x48')](function(_0x196862,_0x3ad0d6){var _0x5b8670=_0x196862[_0x4dab('0x49')]({'plain':!![]});if(_0x3ad0d6){if(_0x26ee3a[_0x4dab('0x39')][_0x4dab('0x4a')]){_0x26ee3a[_0x4dab('0x3f')][_0x4dab('0x4b')]({'id':0x0,'priority':_0x26ee3a['applications']['length']+0x1,'app':'close','appdata':_0x4dab('0x4c'),'interval':'*,*,*,*'});}_0x5b8670[_0x4dab('0x4d')]=!![];}else{_0x5b8670['created']=![];}_0x26ee3a[_0x4dab('0x4e')]=_0x5b8670;return db[_0x4dab('0x4f')][_0x4dab('0x44')]({'body':_0x251978[_0x4dab('0x2f')][_0x4dab('0x2f')],'FaxAccountId':_0x251978[_0x4dab('0x39')]['id'],'FaxInteractionId':_0x196862['id'],'direction':'in','ContactId':_0x196862[_0x4dab('0x50')],'AttachmentId':_0x251978[_0x4dab('0x2f')]['AttachmentId']});})['then'](function(_0xc4ef60){_0x26ee3a[_0x4dab('0x1a')]=_0xc4ef60;if(_0x26ee3a[_0x4dab('0x4e')][_0x4dab('0x51')]){return db['User'][_0x4dab('0x38')]({'attributes':['id','name'],'where':{'id':_0x26ee3a[_0x4dab('0x4e')][_0x4dab('0x51')]}})[_0x4dab('0x12')](function(_0x1375e6){if(_0x1375e6){_0x26ee3a[_0x4dab('0x3f')][_0x4dab('0x52')]({'id':0x0,'priority':0x0,'app':_0x4dab('0x53'),'appdata':_0x1375e6[_0x4dab('0x54')]+','+(_0x26ee3a['account'][_0x4dab('0x55')]||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0x4dab('0x56'),_0x4dab('0x57'),_0x26ee3a);});}return respondWithRpcPromise(_0x4dab('0x56'),'startRouting',_0x26ee3a);})['then'](function(_0x429037){_0x5bc060(_0x429037);})[_0x4dab('0x58')](function(_0xd72adb){_0x1084a2(_0x417768[_0x4dab('0x18')](0x1f4,_0xd72adb[_0x4dab('0x1a')]));});});};