Built motion from commit (unavailable).|2.4.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 _0x0eda=['CompanyId','isNil','from','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','find','CmList','List','Contacts','FaxApplication','Applications','applications','list','orderBy','priority','asc','account','ListId','create','FaxInteraction','spread','get','push','length','created','interaction','FaxMessage','ContactId','UserId','User','name','agent','waitForTheAssignedAgent','*,*,*,*','Start','startRouting','lodash','util','moment','bluebird','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','register','request','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','GetFaxAccount','FaxAccount','findAll','options','raw','where','attributes','limit','map','include','model','info','NotifyFaxAccount','body','fax','CmContact','describe','then','Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','keys','updatedAt'];(function(_0x3977ec,_0x52514b){var _0x1b3d28=function(_0x38fb38){while(--_0x38fb38){_0x3977ec['push'](_0x3977ec['shift']());}};_0x1b3d28(++_0x52514b);}(_0x0eda,0x85));var _0xa0ed=function(_0x4e886a,_0xc50a8b){_0x4e886a=_0x4e886a-0x0;var _0x57693c=_0x0eda[_0x4e886a];return _0x57693c;};'use strict';var _=require(_0xa0ed('0x0'));var util=require(_0xa0ed('0x1'));var moment=require(_0xa0ed('0x2'));var BPromise=require(_0xa0ed('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0xa0ed('0x4'))['db'];var utils=require(_0xa0ed('0x5'));var logger=require(_0xa0ed('0x6'))(_0xa0ed('0x7'));var config=require(_0xa0ed('0x8'));var jayson=require(_0xa0ed('0x9'));var client=jayson[_0xa0ed('0xa')]['http']({'port':0x232c});config[_0xa0ed('0xb')]=_[_0xa0ed('0xc')](config[_0xa0ed('0xb')],{'host':_0xa0ed('0xd'),'port':0x18eb});var socket=require(_0xa0ed('0xe'))(new Redis(config['redis']));require(_0xa0ed('0xf'))[_0xa0ed('0x10')](socket);function respondWithRpcPromise(_0x144bdb,_0x47689c,_0xf7e1ee){return new BPromise(function(_0xd0dc1a,_0x2a41f4){return client[_0xa0ed('0x11')](_0x144bdb,_0xf7e1ee)['then'](function(_0x188bea){logger['info'](_0xa0ed('0x12'),_0x47689c,_0xa0ed('0x13'));logger[_0xa0ed('0x14')](_0xa0ed('0x15'),_0x47689c,_0xa0ed('0x13'),JSON[_0xa0ed('0x16')](_0x188bea));if(_0x188bea[_0xa0ed('0x17')]){if(_0x188bea[_0xa0ed('0x17')][_0xa0ed('0x18')]===0x1f4){logger[_0xa0ed('0x17')](_0xa0ed('0x12'),_0x47689c,_0x188bea[_0xa0ed('0x17')][_0xa0ed('0x19')]);return _0x2a41f4(_0x188bea[_0xa0ed('0x17')][_0xa0ed('0x19')]);}logger[_0xa0ed('0x17')](_0xa0ed('0x12'),_0x47689c,_0x188bea[_0xa0ed('0x17')]['message']);return _0xd0dc1a(_0x188bea[_0xa0ed('0x17')][_0xa0ed('0x19')]);}else{logger['info'](_0xa0ed('0x12'),_0x47689c,_0xa0ed('0x13'));_0xd0dc1a(_0x188bea[_0xa0ed('0x1a')][_0xa0ed('0x19')]);}})[_0xa0ed('0x1b')](function(_0x2fb970){logger[_0xa0ed('0x17')](_0xa0ed('0x12'),_0x47689c,_0x2fb970);_0x2a41f4(_0x2fb970);});});}exports[_0xa0ed('0x1c')]=function(_0x2e9826){var _0x1d7995=this;return new Promise(function(_0x32c028,_0x107b34){return db[_0xa0ed('0x1d')][_0xa0ed('0x1e')]({'raw':_0x2e9826[_0xa0ed('0x1f')]?_0x2e9826[_0xa0ed('0x1f')][_0xa0ed('0x20')]===undefined?!![]:![]:!![],'where':_0x2e9826[_0xa0ed('0x1f')]?_0x2e9826['options'][_0xa0ed('0x21')]||null:null,'attributes':_0x2e9826[_0xa0ed('0x1f')]?_0x2e9826[_0xa0ed('0x1f')][_0xa0ed('0x22')]||null:null,'limit':_0x2e9826[_0xa0ed('0x1f')]?_0x2e9826[_0xa0ed('0x1f')][_0xa0ed('0x23')]||null:null,'include':_0x2e9826[_0xa0ed('0x1f')]?_0x2e9826[_0xa0ed('0x1f')]['include']?_[_0xa0ed('0x24')](_0x2e9826[_0xa0ed('0x1f')][_0xa0ed('0x25')],function(_0x3775ab){return{'model':db[_0x3775ab[_0xa0ed('0x26')]],'as':_0x3775ab['as'],'attributes':_0x3775ab[_0xa0ed('0x22')],'include':_0x3775ab[_0xa0ed('0x25')]?_[_0xa0ed('0x24')](_0x3775ab['include'],function(_0x44f1c2){return{'model':db[_0x44f1c2[_0xa0ed('0x26')]],'as':_0x44f1c2['as'],'attributes':_0x44f1c2['attributes'],'include':_0x44f1c2[_0xa0ed('0x25')]?_['map'](_0x44f1c2[_0xa0ed('0x25')],function(_0x5947ae){return{'model':db[_0x5947ae[_0xa0ed('0x26')]],'as':_0x5947ae['as'],'attributes':_0x5947ae[_0xa0ed('0x22')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x522853){logger[_0xa0ed('0x27')](_0xa0ed('0x1c'),_0x2e9826);logger[_0xa0ed('0x14')](_0xa0ed('0x1c'),_0x2e9826,JSON[_0xa0ed('0x16')](_0x522853));_0x32c028(_0x522853);})[_0xa0ed('0x1b')](function(_0x43f5b5){logger[_0xa0ed('0x17')](_0xa0ed('0x1c'),_0x43f5b5[_0xa0ed('0x19')],_0x2e9826);_0x107b34(_0x1d7995[_0xa0ed('0x17')](0x1f4,_0x43f5b5[_0xa0ed('0x19')]));});});};exports[_0xa0ed('0x28')]=function(_0x3fafb4,_0x5eef2a,_0x5a32e0){var _0x435e3c=this;return new Promise(function(_0x2f7bf1,_0x389539){var _0x2a8fa0={'body':_0x3fafb4[_0xa0ed('0x29')],'channel':_0xa0ed('0x2a')};var _0x5623d5=[];var _0x324913=[];var _0x4de67e={};return db[_0xa0ed('0x2b')][_0xa0ed('0x2c')]()[_0xa0ed('0x2d')](function(_0x2f6b07){if(!_0x2f6b07){throw new db[(_0xa0ed('0x2e'))][(_0xa0ed('0x2f'))](_0xa0ed('0x30'));}_0x5623d5=_[_0xa0ed('0x31')](_['keys'](_0x2f6b07),[_0xa0ed('0x32'),'updatedAt']);_0x324913=_[_0xa0ed('0x31')](_[_0xa0ed('0x33')](_0x2f6b07),[_0xa0ed('0x32'),_0xa0ed('0x34'),_0xa0ed('0x35'),'ListId']);if(_0x3fafb4['body']['id']){delete _0x3fafb4[_0xa0ed('0x29')]['id'];}if(_[_0xa0ed('0x36')](_0x3fafb4[_0xa0ed('0x29')][_0xa0ed('0x37')])){throw new db[(_0xa0ed('0x2e'))][(_0xa0ed('0x2f'))](_0xa0ed('0x38'));}if(_[_0xa0ed('0x36')](_0x3fafb4[_0xa0ed('0x29')][_0xa0ed('0x29')])||_0x3fafb4[_0xa0ed('0x29')][_0xa0ed('0x29')]===''){throw new db[(_0xa0ed('0x2e'))][(_0xa0ed('0x2f'))](_0xa0ed('0x39'));}if(_[_0xa0ed('0x36')](_0x3fafb4['body'][_0xa0ed('0x3a')])){throw new db[(_0xa0ed('0x2e'))][(_0xa0ed('0x2f'))](_0xa0ed('0x3b')+_0x324913);}if(!_[_0xa0ed('0x3c')](_0x324913,_0x3fafb4[_0xa0ed('0x29')]['mapKey'])){throw new db[(_0xa0ed('0x2e'))]['ValidationError'](_0xa0ed('0x3d')+_0x324913);}_0x4de67e[_0x3fafb4['body']['mapKey']]=_0x3fafb4['body'][_0xa0ed('0x37')];})['then'](function(){return db['FaxAccount'][_0xa0ed('0x3e')]({'where':{'id':_0x3fafb4['account']['id']},'include':[{'model':db[_0xa0ed('0x3f')],'as':_0xa0ed('0x40'),'include':[{'model':db[_0xa0ed('0x2b')],'as':_0xa0ed('0x41'),'where':_0x4de67e,'limit':0x1,'order':[[_0xa0ed('0x34'),'DESC']]}]},{'model':db[_0xa0ed('0x42')],'as':_0xa0ed('0x43')}]});})[_0xa0ed('0x2d')](function(_0x18be63){if(_0x18be63&&_0x18be63[_0xa0ed('0x40')]){var _0x5a1178=_0x18be63['get']({'plain':!![]});_0x2a8fa0['account']=_0x5a1178;_0x2a8fa0[_0xa0ed('0x44')]=_0x5a1178[_0xa0ed('0x43')];_0x2a8fa0[_0xa0ed('0x45')]=_0x5a1178[_0xa0ed('0x40')];_0x2a8fa0[_0xa0ed('0x44')]=_[_0xa0ed('0x46')](_0x2a8fa0[_0xa0ed('0x44')],[_0xa0ed('0x47')],[_0xa0ed('0x48')]);if(_0x2a8fa0[_0xa0ed('0x49')][_0xa0ed('0x43')]){delete _0x2a8fa0[_0xa0ed('0x49')]['Applications'];}if(_0x2a8fa0[_0xa0ed('0x49')][_0xa0ed('0x40')]&&_0x2a8fa0['account']['List'][_0xa0ed('0x41')]['length']){return _0x2a8fa0[_0xa0ed('0x49')][_0xa0ed('0x40')][_0xa0ed('0x41')][0x0];}var _0x333515=_['defaults'](_0x3fafb4['body'],{'firstName':_0x3fafb4[_0xa0ed('0x29')]['from'],'ListId':_0x5a1178[_0xa0ed('0x4a')]});_0x333515[_0x3fafb4[_0xa0ed('0x29')][_0xa0ed('0x3a')]]=_0x3fafb4[_0xa0ed('0x29')][_0xa0ed('0x37')];return db[_0xa0ed('0x2b')][_0xa0ed('0x4b')](_0x333515,{'fields':_0x5623d5,'raw':!![]});}})[_0xa0ed('0x2d')](function(_0x37a8b4){_0x2a8fa0['contact']=_0x37a8b4;if(_0x37a8b4){var _0xe88a3a={'ContactId':_0x37a8b4['id'],'FaxAccountId':_0x3fafb4[_0xa0ed('0x49')]['id'],'fax':_0x37a8b4['fax']};return db[_0xa0ed('0x4c')]['find']({'where':{'ContactId':_0x37a8b4['id'],'closed':![],'FaxAccountId':_0x3fafb4[_0xa0ed('0x49')]['id']}})[_0xa0ed('0x2d')](function(_0x1acbf4){if(_0x1acbf4){return[_0x1acbf4,![]];}return db[_0xa0ed('0x4c')][_0xa0ed('0x4b')](_0xe88a3a)[_0xa0ed('0x2d')](function(_0x5623f4){return[_0x5623f4,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0xa0ed('0x4d')](function(_0x2cff57,_0xbda131){var _0x3d8555=_0x2cff57[_0xa0ed('0x4e')]({'plain':!![]});if(_0xbda131){if(_0x2a8fa0['account']['autoclose']){_0x2a8fa0[_0xa0ed('0x44')][_0xa0ed('0x4f')]({'id':0x0,'priority':_0x2a8fa0[_0xa0ed('0x44')][_0xa0ed('0x50')]+0x1,'app':'close','appdata':'unmanaged','interval':'*,*,*,*'});}_0x3d8555[_0xa0ed('0x51')]=!![];}else{_0x3d8555[_0xa0ed('0x51')]=![];}_0x2a8fa0[_0xa0ed('0x52')]=_0x3d8555;return db[_0xa0ed('0x53')][_0xa0ed('0x4b')]({'body':_0x3fafb4[_0xa0ed('0x29')][_0xa0ed('0x29')],'FaxAccountId':_0x3fafb4[_0xa0ed('0x49')]['id'],'FaxInteractionId':_0x2cff57['id'],'direction':'in','ContactId':_0x2cff57[_0xa0ed('0x54')],'AttachmentId':_0x3fafb4[_0xa0ed('0x29')]['AttachmentId']});})[_0xa0ed('0x2d')](function(_0x58e527){_0x2a8fa0[_0xa0ed('0x19')]=_0x58e527;if(_0x2a8fa0['interaction'][_0xa0ed('0x55')]){return db[_0xa0ed('0x56')][_0xa0ed('0x3e')]({'attributes':['id',_0xa0ed('0x57')],'where':{'id':_0x2a8fa0[_0xa0ed('0x52')][_0xa0ed('0x55')]}})['then'](function(_0x531e4c){if(_0x531e4c){_0x2a8fa0['applications']['unshift']({'id':0x0,'priority':0x0,'app':_0xa0ed('0x58'),'appdata':_0x531e4c['name']+','+(_0x2a8fa0[_0xa0ed('0x49')][_0xa0ed('0x59')]||0xa),'interval':_0xa0ed('0x5a')});}return respondWithRpcPromise(_0xa0ed('0x5b'),'startRouting',_0x2a8fa0);});}return respondWithRpcPromise(_0xa0ed('0x5b'),_0xa0ed('0x5c'),_0x2a8fa0);})[_0xa0ed('0x2d')](function(_0x40bee5){_0x2f7bf1(_0x40bee5);})[_0xa0ed('0x1b')](function(_0x30adc1){_0x389539(_0x435e3c[_0xa0ed('0x17')](0x1f4,_0x30adc1['message']));});});};