Built motion from commit (unavailable).|2.5.31
[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 _0x7e70=['map','model','info','stringify','NotifyFaxAccount','fax','CmContact','describe','Sequelize','ValidationError','no\x20available\x20attributes','keys','createdAt','updatedAt','difference','CompanyId','ListId','body','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','account','List','DESC','FaxApplication','get','applications','Applications','list','orderBy','Contacts','length','create','contact','FaxInteraction','Contact\x20not\x20found','spread','autoclose','push','close','unmanaged','*,*,*,*','created','FaxMessage','ContactId','AttachmentId','User','find','unshift','agent','name','waitForTheAssignedAgent','Start','startRouting','lodash','util','moment','bluebird','randomstring','../../mysqldb','../../config/utils','jayson/promise','client','http','redis','defaults','socket.io-emitter','register','request','then','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','error','message','result','catch','GetFaxAccount','FaxAccount','findAll','options','raw','attributes','limit','include'];(function(_0x40187e,_0x182c88){var _0x3fcded=function(_0x48d176){while(--_0x48d176){_0x40187e['push'](_0x40187e['shift']());}};_0x3fcded(++_0x182c88);}(_0x7e70,0x94));var _0x07e7=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7e70[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x07e7('0x0'));var util=require(_0x07e7('0x1'));var moment=require(_0x07e7('0x2'));var BPromise=require(_0x07e7('0x3'));var rs=require(_0x07e7('0x4'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x07e7('0x5'))['db'];var utils=require(_0x07e7('0x6'));var logger=require('../../config/logger')('rpc');var config=require('../../config/environment');var jayson=require(_0x07e7('0x7'));var client=jayson[_0x07e7('0x8')][_0x07e7('0x9')]({'port':0x232c});config[_0x07e7('0xa')]=_[_0x07e7('0xb')](config[_0x07e7('0xa')],{'host':'localhost','port':0x18eb});var socket=require(_0x07e7('0xc'))(new Redis(config[_0x07e7('0xa')]));require('./faxAccount.socket')[_0x07e7('0xd')](socket);function respondWithRpcPromise(_0x249c8b,_0x5eb02f,_0x3fe37d){return new BPromise(function(_0x358b28,_0x21110d){return client[_0x07e7('0xe')](_0x249c8b,_0x3fe37d)[_0x07e7('0xf')](function(_0x4d0797){logger['info'](_0x07e7('0x10'),_0x5eb02f,_0x07e7('0x11'));logger[_0x07e7('0x12')](_0x07e7('0x13'),_0x5eb02f,_0x07e7('0x11'),JSON['stringify'](_0x4d0797));if(_0x4d0797[_0x07e7('0x14')]){if(_0x4d0797[_0x07e7('0x14')]['code']===0x1f4){logger[_0x07e7('0x14')](_0x07e7('0x10'),_0x5eb02f,_0x4d0797[_0x07e7('0x14')][_0x07e7('0x15')]);return _0x21110d(_0x4d0797[_0x07e7('0x14')][_0x07e7('0x15')]);}logger['error'](_0x07e7('0x10'),_0x5eb02f,_0x4d0797[_0x07e7('0x14')][_0x07e7('0x15')]);return _0x358b28(_0x4d0797[_0x07e7('0x14')][_0x07e7('0x15')]);}else{logger['info'](_0x07e7('0x10'),_0x5eb02f,_0x07e7('0x11'));_0x358b28(_0x4d0797[_0x07e7('0x16')]['message']);}})[_0x07e7('0x17')](function(_0x12ae9c){logger['error'](_0x07e7('0x10'),_0x5eb02f,_0x12ae9c);_0x21110d(_0x12ae9c);});});}exports[_0x07e7('0x18')]=function(_0x1332ed){var _0x486b25=this;return new Promise(function(_0x38542b,_0x10a357){return db[_0x07e7('0x19')][_0x07e7('0x1a')]({'raw':_0x1332ed[_0x07e7('0x1b')]?_0x1332ed[_0x07e7('0x1b')][_0x07e7('0x1c')]===undefined?!![]:![]:!![],'where':_0x1332ed[_0x07e7('0x1b')]?_0x1332ed[_0x07e7('0x1b')]['where']||null:null,'attributes':_0x1332ed[_0x07e7('0x1b')]?_0x1332ed[_0x07e7('0x1b')][_0x07e7('0x1d')]||null:null,'limit':_0x1332ed['options']?_0x1332ed[_0x07e7('0x1b')][_0x07e7('0x1e')]||null:null,'include':_0x1332ed[_0x07e7('0x1b')]?_0x1332ed[_0x07e7('0x1b')][_0x07e7('0x1f')]?_[_0x07e7('0x20')](_0x1332ed['options'][_0x07e7('0x1f')],function(_0x5249b0){return{'model':db[_0x5249b0[_0x07e7('0x21')]],'as':_0x5249b0['as'],'attributes':_0x5249b0['attributes'],'include':_0x5249b0[_0x07e7('0x1f')]?_[_0x07e7('0x20')](_0x5249b0[_0x07e7('0x1f')],function(_0x3fcda1){return{'model':db[_0x3fcda1['model']],'as':_0x3fcda1['as'],'attributes':_0x3fcda1[_0x07e7('0x1d')],'include':_0x3fcda1[_0x07e7('0x1f')]?_[_0x07e7('0x20')](_0x3fcda1[_0x07e7('0x1f')],function(_0x30ca17){return{'model':db[_0x30ca17['model']],'as':_0x30ca17['as'],'attributes':_0x30ca17['attributes']};}):[]};}):[]};}):[]:[]})[_0x07e7('0xf')](function(_0x599197){logger[_0x07e7('0x22')](_0x07e7('0x18'),_0x1332ed);logger['debug'](_0x07e7('0x18'),_0x1332ed,JSON[_0x07e7('0x23')](_0x599197));_0x38542b(_0x599197);})[_0x07e7('0x17')](function(_0x5298dc){logger[_0x07e7('0x14')]('GetFaxAccount',_0x5298dc[_0x07e7('0x15')],_0x1332ed);_0x10a357(_0x486b25[_0x07e7('0x14')](0x1f4,_0x5298dc[_0x07e7('0x15')]));});});};exports[_0x07e7('0x24')]=function(_0x673d22,_0x481a50,_0x2a4e66){var _0x516b6a=this;return new Promise(function(_0x2be187,_0x517282){var _0x1db01c={'body':_0x673d22['body'],'channel':_0x07e7('0x25')};var _0x471b60=[];var _0x33a873=[];var _0x5fa7c4={};return db[_0x07e7('0x26')][_0x07e7('0x27')]()[_0x07e7('0xf')](function(_0x51f6ee){if(!_0x51f6ee){throw new db[(_0x07e7('0x28'))][(_0x07e7('0x29'))](_0x07e7('0x2a'));}_0x471b60=_['difference'](_[_0x07e7('0x2b')](_0x51f6ee),[_0x07e7('0x2c'),_0x07e7('0x2d')]);_0x33a873=_[_0x07e7('0x2e')](_[_0x07e7('0x2b')](_0x51f6ee),['createdAt','updatedAt',_0x07e7('0x2f'),_0x07e7('0x30')]);if(_0x673d22[_0x07e7('0x31')]['id']){delete _0x673d22[_0x07e7('0x31')]['id'];}if(_[_0x07e7('0x32')](_0x673d22[_0x07e7('0x31')][_0x07e7('0x33')])){throw new db['Sequelize'][(_0x07e7('0x29'))](_0x07e7('0x34'));}if(_['isNil'](_0x673d22['body'][_0x07e7('0x31')])||_0x673d22[_0x07e7('0x31')][_0x07e7('0x31')]===''){throw new db[(_0x07e7('0x28'))][(_0x07e7('0x29'))](_0x07e7('0x35'));}if(_['isNil'](_0x673d22[_0x07e7('0x31')][_0x07e7('0x36')])){throw new db[(_0x07e7('0x28'))][(_0x07e7('0x29'))](_0x07e7('0x37')+_0x33a873);}if(!_['includes'](_0x33a873,_0x673d22[_0x07e7('0x31')][_0x07e7('0x36')])){throw new db['Sequelize'][(_0x07e7('0x29'))](_0x07e7('0x38')+_0x33a873);}_0x5fa7c4[_0x673d22[_0x07e7('0x31')][_0x07e7('0x36')]]=_0x673d22[_0x07e7('0x31')][_0x07e7('0x33')];})['then'](function(){return db[_0x07e7('0x19')]['find']({'where':{'id':_0x673d22[_0x07e7('0x39')]['id']},'include':[{'model':db['CmList'],'as':_0x07e7('0x3a'),'include':[{'model':db[_0x07e7('0x26')],'as':'Contacts','where':_0x5fa7c4,'limit':0x1,'order':[[_0x07e7('0x2d'),_0x07e7('0x3b')]]}]},{'model':db[_0x07e7('0x3c')],'as':'Applications'}]});})['then'](function(_0x406341){if(_0x406341&&_0x406341['List']){var _0x4a1926=_0x406341[_0x07e7('0x3d')]({'plain':!![]});_0x1db01c['account']=_0x4a1926;_0x1db01c[_0x07e7('0x3e')]=_0x4a1926[_0x07e7('0x3f')];_0x1db01c[_0x07e7('0x40')]=_0x4a1926[_0x07e7('0x3a')];_0x1db01c[_0x07e7('0x3e')]=_[_0x07e7('0x41')](_0x1db01c[_0x07e7('0x3e')],['priority'],['asc']);if(_0x1db01c[_0x07e7('0x39')]['Applications']){delete _0x1db01c[_0x07e7('0x39')][_0x07e7('0x3f')];}if(_0x1db01c[_0x07e7('0x39')][_0x07e7('0x3a')]&&_0x1db01c[_0x07e7('0x39')]['List'][_0x07e7('0x42')][_0x07e7('0x43')]){return _0x1db01c[_0x07e7('0x39')]['List'][_0x07e7('0x42')][0x0];}var _0x3f49bf=_[_0x07e7('0xb')](_0x673d22[_0x07e7('0x31')],{'firstName':_0x673d22[_0x07e7('0x31')]['from'],'ListId':_0x4a1926[_0x07e7('0x30')]});_0x3f49bf[_0x673d22[_0x07e7('0x31')][_0x07e7('0x36')]]=_0x673d22['body'][_0x07e7('0x33')];return db['CmContact'][_0x07e7('0x44')](_0x3f49bf,{'fields':_0x471b60,'raw':!![]});}})[_0x07e7('0xf')](function(_0x479170){_0x1db01c[_0x07e7('0x45')]=_0x479170;if(_0x479170){var _0x2af9ab={'ContactId':_0x479170['id'],'FaxAccountId':_0x673d22[_0x07e7('0x39')]['id'],'fax':_0x479170[_0x07e7('0x25')]};return db[_0x07e7('0x46')]['find']({'where':{'ContactId':_0x479170['id'],'closed':![],'FaxAccountId':_0x673d22[_0x07e7('0x39')]['id']}})['then'](function(_0x450524){if(_0x450524){return[_0x450524,![]];}return db['FaxInteraction']['create'](_0x2af9ab)[_0x07e7('0xf')](function(_0xd35a5d){return[_0xd35a5d,!![]];});});}else{throw new Error(_0x07e7('0x47'));}})[_0x07e7('0x48')](function(_0x2e69a2,_0x5ba06f){var _0x2b9ee1=_0x2e69a2[_0x07e7('0x3d')]({'plain':!![]});if(_0x5ba06f){if(_0x1db01c[_0x07e7('0x39')][_0x07e7('0x49')]){_0x1db01c[_0x07e7('0x3e')][_0x07e7('0x4a')]({'id':0x0,'priority':_0x1db01c[_0x07e7('0x3e')]['length']+0x1,'app':_0x07e7('0x4b'),'appdata':_0x07e7('0x4c'),'interval':_0x07e7('0x4d')});}_0x2b9ee1[_0x07e7('0x4e')]=!![];}else{_0x2b9ee1[_0x07e7('0x4e')]=![];}_0x1db01c['interaction']=_0x2b9ee1;return db[_0x07e7('0x4f')]['create']({'body':_0x673d22[_0x07e7('0x31')][_0x07e7('0x31')],'FaxAccountId':_0x673d22[_0x07e7('0x39')]['id'],'FaxInteractionId':_0x2e69a2['id'],'direction':'in','ContactId':_0x2e69a2[_0x07e7('0x50')],'AttachmentId':_0x673d22[_0x07e7('0x31')][_0x07e7('0x51')]});})['then'](function(_0x55e30c){_0x1db01c['message']=_0x55e30c;if(_0x1db01c['interaction']['UserId']){return db[_0x07e7('0x52')][_0x07e7('0x53')]({'attributes':['id','name'],'where':{'id':_0x1db01c['interaction']['UserId']}})[_0x07e7('0xf')](function(_0x4b3b85){if(_0x4b3b85){_0x1db01c[_0x07e7('0x3e')][_0x07e7('0x54')]({'id':0x0,'priority':0x0,'app':_0x07e7('0x55'),'appdata':_0x4b3b85[_0x07e7('0x56')]+','+(_0x1db01c[_0x07e7('0x39')][_0x07e7('0x57')]||0xa),'interval':_0x07e7('0x4d')});}return respondWithRpcPromise(_0x07e7('0x58'),_0x07e7('0x59'),_0x1db01c);});}return respondWithRpcPromise(_0x07e7('0x58'),'startRouting',_0x1db01c);})[_0x07e7('0xf')](function(_0x1f335f){_0x2be187(_0x1f335f);})[_0x07e7('0x17')](function(_0x4fc27b){_0x517282(_0x516b6a[_0x07e7('0x14')](0x1f4,_0x4fc27b[_0x07e7('0x15')]));});});};