Built motion from commit d5e4af8c.|2.6.23
[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 _0xc86d=['attributes','NotifyFaxAccount','body','fax','CmContact','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','CompanyId','ListId','isNil','from','Sequelize','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey','find','account','CmList','List','Contacts','DESC','Applications','get','applications','list','orderBy','asc','length','create','contact','FaxInteraction','Contact\x20not\x20found','spread','autoclose','push','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','unshift','agent','name','waitForTheAssignedAgent','FaxQueue','queueId','queue','Start','startRouting','lodash','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','client','http','redis','defaults','localhost','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','GetFaxAccount','FaxAccount','options','raw','where','limit','include','map','model'];(function(_0x20d615,_0x1e10d2){var _0x4aede2=function(_0x4fe09b){while(--_0x4fe09b){_0x20d615['push'](_0x20d615['shift']());}};_0x4aede2(++_0x1e10d2);}(_0xc86d,0x149));var _0xdc86=function(_0x9df060,_0x253d33){_0x9df060=_0x9df060-0x0;var _0x338dfe=_0xc86d[_0x9df060];return _0x338dfe;};'use strict';var _=require(_0xdc86('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0xdc86('0x1'));var rs=require(_0xdc86('0x2'));var fs=require('fs');var Redis=require(_0xdc86('0x3'));var db=require(_0xdc86('0x4'))['db'];var utils=require(_0xdc86('0x5'));var logger=require(_0xdc86('0x6'))('rpc');var config=require(_0xdc86('0x7'));var jayson=require('jayson/promise');var client=jayson[_0xdc86('0x8')][_0xdc86('0x9')]({'port':0x232c});config[_0xdc86('0xa')]=_[_0xdc86('0xb')](config[_0xdc86('0xa')],{'host':_0xdc86('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xdc86('0xa')]));require('./faxAccount.socket')['register'](socket);function respondWithRpcPromise(_0x2f4b3e,_0x249151,_0x4e71cc){return new BPromise(function(_0x114a70,_0x2e7924){return client[_0xdc86('0xd')](_0x2f4b3e,_0x4e71cc)[_0xdc86('0xe')](function(_0x5c303b){logger[_0xdc86('0xf')](_0xdc86('0x10'),_0x249151,_0xdc86('0x11'));logger[_0xdc86('0x12')](_0xdc86('0x13'),_0x249151,_0xdc86('0x11'),JSON[_0xdc86('0x14')](_0x5c303b));if(_0x5c303b[_0xdc86('0x15')]){if(_0x5c303b[_0xdc86('0x15')][_0xdc86('0x16')]===0x1f4){logger[_0xdc86('0x15')](_0xdc86('0x10'),_0x249151,_0x5c303b[_0xdc86('0x15')][_0xdc86('0x17')]);return _0x2e7924(_0x5c303b[_0xdc86('0x15')][_0xdc86('0x17')]);}logger['error'](_0xdc86('0x10'),_0x249151,_0x5c303b[_0xdc86('0x15')][_0xdc86('0x17')]);return _0x114a70(_0x5c303b[_0xdc86('0x15')][_0xdc86('0x17')]);}else{logger['info'](_0xdc86('0x10'),_0x249151,_0xdc86('0x11'));_0x114a70(_0x5c303b[_0xdc86('0x18')][_0xdc86('0x17')]);}})[_0xdc86('0x19')](function(_0x55f678){logger['error'](_0xdc86('0x10'),_0x249151,_0x55f678);_0x2e7924(_0x55f678);});});}exports[_0xdc86('0x1a')]=function(_0x592d66){var _0x8a1699=this;return new Promise(function(_0x4d5b15,_0x490de8){return db[_0xdc86('0x1b')]['findAll']({'raw':_0x592d66[_0xdc86('0x1c')]?_0x592d66[_0xdc86('0x1c')][_0xdc86('0x1d')]===undefined?!![]:![]:!![],'where':_0x592d66['options']?_0x592d66[_0xdc86('0x1c')][_0xdc86('0x1e')]||null:null,'attributes':_0x592d66['options']?_0x592d66[_0xdc86('0x1c')]['attributes']||null:null,'limit':_0x592d66[_0xdc86('0x1c')]?_0x592d66['options'][_0xdc86('0x1f')]||null:null,'include':_0x592d66[_0xdc86('0x1c')]?_0x592d66[_0xdc86('0x1c')][_0xdc86('0x20')]?_[_0xdc86('0x21')](_0x592d66[_0xdc86('0x1c')][_0xdc86('0x20')],function(_0x9d6e48){return{'model':db[_0x9d6e48[_0xdc86('0x22')]],'as':_0x9d6e48['as'],'attributes':_0x9d6e48['attributes'],'include':_0x9d6e48['include']?_[_0xdc86('0x21')](_0x9d6e48[_0xdc86('0x20')],function(_0x42b242){return{'model':db[_0x42b242[_0xdc86('0x22')]],'as':_0x42b242['as'],'attributes':_0x42b242[_0xdc86('0x23')],'include':_0x42b242['include']?_[_0xdc86('0x21')](_0x42b242[_0xdc86('0x20')],function(_0x5ad350){return{'model':db[_0x5ad350['model']],'as':_0x5ad350['as'],'attributes':_0x5ad350[_0xdc86('0x23')]};}):[]};}):[]};}):[]:[]})[_0xdc86('0xe')](function(_0x244063){logger[_0xdc86('0xf')](_0xdc86('0x1a'),_0x592d66);logger[_0xdc86('0x12')](_0xdc86('0x1a'),_0x592d66,JSON[_0xdc86('0x14')](_0x244063));_0x4d5b15(_0x244063);})[_0xdc86('0x19')](function(_0x3dff59){logger[_0xdc86('0x15')]('GetFaxAccount',_0x3dff59['message'],_0x592d66);_0x490de8(_0x8a1699[_0xdc86('0x15')](0x1f4,_0x3dff59[_0xdc86('0x17')]));});});};exports[_0xdc86('0x24')]=function(_0x4a5525,_0x82f00d,_0x480282){var _0x46a128=this;return new Promise(function(_0x3112f1,_0x3e2758){var _0x48bcd1={'body':_0x4a5525[_0xdc86('0x25')],'channel':_0xdc86('0x26')};var _0x28b0f1=[];var _0x36448a=[];var _0x258796={};return db[_0xdc86('0x27')]['describe']()[_0xdc86('0xe')](function(_0x1908ab){if(!_0x1908ab){throw new db['Sequelize'][(_0xdc86('0x28'))](_0xdc86('0x29'));}_0x28b0f1=_[_0xdc86('0x2a')](_[_0xdc86('0x2b')](_0x1908ab),[_0xdc86('0x2c'),_0xdc86('0x2d')]);_0x36448a=_['difference'](_[_0xdc86('0x2b')](_0x1908ab),[_0xdc86('0x2c'),_0xdc86('0x2d'),_0xdc86('0x2e'),_0xdc86('0x2f')]);if(_0x4a5525[_0xdc86('0x25')]['id']){delete _0x4a5525[_0xdc86('0x25')]['id'];}if(_[_0xdc86('0x30')](_0x4a5525[_0xdc86('0x25')][_0xdc86('0x31')])){throw new db[(_0xdc86('0x32'))][(_0xdc86('0x28'))]('from\x20is\x20mandatory');}if(_['isNil'](_0x4a5525['body']['body'])||_0x4a5525['body']['body']===''){throw new db[(_0xdc86('0x32'))][(_0xdc86('0x28'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0xdc86('0x30')](_0x4a5525['body']['mapKey'])){throw new db['Sequelize'][(_0xdc86('0x28'))](_0xdc86('0x33')+_0x36448a);}if(!_['includes'](_0x36448a,_0x4a5525[_0xdc86('0x25')]['mapKey'])){throw new db['Sequelize'][(_0xdc86('0x28'))](_0xdc86('0x34')+_0x36448a);}_0x258796[_0x4a5525[_0xdc86('0x25')][_0xdc86('0x35')]]=_0x4a5525[_0xdc86('0x25')][_0xdc86('0x31')];})['then'](function(){return db[_0xdc86('0x1b')][_0xdc86('0x36')]({'where':{'id':_0x4a5525[_0xdc86('0x37')]['id']},'include':[{'model':db[_0xdc86('0x38')],'as':_0xdc86('0x39'),'include':[{'model':db[_0xdc86('0x27')],'as':_0xdc86('0x3a'),'where':_0x258796,'limit':0x1,'order':[['updatedAt',_0xdc86('0x3b')]]}]},{'model':db['FaxApplication'],'as':_0xdc86('0x3c')}]});})['then'](function(_0x33d269){if(_0x33d269&&_0x33d269[_0xdc86('0x39')]){var _0x112fff=_0x33d269[_0xdc86('0x3d')]({'plain':!![]});_0x48bcd1[_0xdc86('0x37')]=_0x112fff;_0x48bcd1[_0xdc86('0x3e')]=_0x112fff[_0xdc86('0x3c')];_0x48bcd1[_0xdc86('0x3f')]=_0x112fff[_0xdc86('0x39')];_0x48bcd1['applications']=_[_0xdc86('0x40')](_0x48bcd1[_0xdc86('0x3e')],['priority'],[_0xdc86('0x41')]);if(_0x48bcd1[_0xdc86('0x37')][_0xdc86('0x3c')]){delete _0x48bcd1[_0xdc86('0x37')][_0xdc86('0x3c')];}if(_0x48bcd1[_0xdc86('0x37')][_0xdc86('0x39')]&&_0x48bcd1[_0xdc86('0x37')][_0xdc86('0x39')]['Contacts'][_0xdc86('0x42')]){return _0x48bcd1['account'][_0xdc86('0x39')][_0xdc86('0x3a')][0x0];}var _0x385a04=_[_0xdc86('0xb')](_0x4a5525['body'],{'firstName':_0x4a5525[_0xdc86('0x25')][_0xdc86('0x31')],'ListId':_0x112fff[_0xdc86('0x2f')]});_0x385a04[_0x4a5525[_0xdc86('0x25')][_0xdc86('0x35')]]=_0x4a5525[_0xdc86('0x25')][_0xdc86('0x31')];return db[_0xdc86('0x27')][_0xdc86('0x43')](_0x385a04,{'fields':_0x28b0f1,'raw':!![]});}})['then'](function(_0x3c92c8){_0x48bcd1[_0xdc86('0x44')]=_0x3c92c8;if(_0x3c92c8){var _0x143af3={'ContactId':_0x3c92c8['id'],'FaxAccountId':_0x4a5525[_0xdc86('0x37')]['id'],'fax':_0x3c92c8[_0xdc86('0x26')]};return db[_0xdc86('0x45')]['find']({'where':{'ContactId':_0x3c92c8['id'],'closed':![],'FaxAccountId':_0x4a5525[_0xdc86('0x37')]['id']}})[_0xdc86('0xe')](function(_0xd0f9b9){if(_0xd0f9b9){return[_0xd0f9b9,![]];}return db[_0xdc86('0x45')][_0xdc86('0x43')](_0x143af3)['then'](function(_0x1fb782){return[_0x1fb782,!![]];});});}else{throw new Error(_0xdc86('0x46'));}})[_0xdc86('0x47')](function(_0x245faa,_0x38ea23){var _0x31aecd=_0x245faa[_0xdc86('0x3d')]({'plain':!![]});if(_0x38ea23){if(_0x48bcd1[_0xdc86('0x37')][_0xdc86('0x48')]){_0x48bcd1['applications'][_0xdc86('0x49')]({'id':0x0,'priority':_0x48bcd1[_0xdc86('0x3e')]['length']+0x1,'app':'close','appdata':_0xdc86('0x4a'),'interval':_0xdc86('0x4b')});}_0x31aecd[_0xdc86('0x4c')]=!![];}else{_0x31aecd['created']=![];}_0x48bcd1[_0xdc86('0x4d')]=_0x31aecd;return db[_0xdc86('0x4e')][_0xdc86('0x43')]({'body':_0x4a5525[_0xdc86('0x25')][_0xdc86('0x25')],'FaxAccountId':_0x4a5525['account']['id'],'FaxInteractionId':_0x245faa['id'],'direction':'in','ContactId':_0x245faa[_0xdc86('0x4f')],'AttachmentId':_0x4a5525[_0xdc86('0x25')][_0xdc86('0x50')]});})[_0xdc86('0xe')](function(_0x56cff1){_0x48bcd1[_0xdc86('0x17')]=_0x56cff1;if(!_0x48bcd1['interaction'][_0xdc86('0x51')])return;return db['User'][_0xdc86('0x36')]({'attributes':['id','name'],'where':{'id':_0x48bcd1['interaction'][_0xdc86('0x51')]}});})[_0xdc86('0xe')](function(_0x6bec5e){if(_0x6bec5e){_0x48bcd1[_0xdc86('0x3e')][_0xdc86('0x52')]({'id':0x0,'priority':0x0,'app':_0xdc86('0x53'),'appdata':_0x6bec5e[_0xdc86('0x54')]+','+(_0x48bcd1[_0xdc86('0x37')][_0xdc86('0x55')]||0xa),'interval':'*,*,*,*'});}if(!_0x48bcd1[_0xdc86('0x4d')]['queueId'])return;return db[_0xdc86('0x56')]['find']({'attributes':['id',_0xdc86('0x54')],'where':{'id':_0x48bcd1['interaction'][_0xdc86('0x57')]}});})[_0xdc86('0xe')](function(_0x5b6534){if(_0x5b6534){_0x48bcd1[_0xdc86('0x3e')][_0xdc86('0x52')]({'id':0x0,'priority':0x1,'app':_0xdc86('0x58'),'appdata':_0x5b6534[_0xdc86('0x54')]+','+(_0x48bcd1[_0xdc86('0x37')]['waitForTheAssignedQueue']||0x12c),'interval':_0xdc86('0x4b')});}return respondWithRpcPromise(_0xdc86('0x59'),_0xdc86('0x5a'),_0x48bcd1);})[_0xdc86('0xe')](function(_0x4dd2fc){_0x3112f1(_0x4dd2fc);})[_0xdc86('0x19')](function(_0x5afdae){_0x3e2758(_0x46a128[_0xdc86('0x15')](0x1f4,_0x5afdae[_0xdc86('0x17')]));});});};