Built motion from commit (unavailable).|2.5.6
[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 _0x42f0=['../../config/utils','../../config/logger','../../config/environment','client','localhost','./faxAccount.socket','request','then','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','result','catch','GetFaxAccount','FaxAccount','options','raw','where','limit','map','include','attributes','model','info','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','difference','keys','updatedAt','createdAt','ListId','from','from\x20is\x20mandatory','isNil','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','Contacts','FaxApplication','Applications','get','applications','list','List','orderBy','asc','account','create','contact','FaxInteraction','Contact\x20not\x20found','push','unmanaged','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','User','find','name','unshift','agent','*,*,*,*','Start','startRouting','lodash','bluebird','randomstring','../../mysqldb'];(function(_0x3d6785,_0x492ea3){var _0x39a624=function(_0x27d7db){while(--_0x27d7db){_0x3d6785['push'](_0x3d6785['shift']());}};_0x39a624(++_0x492ea3);}(_0x42f0,0x1e2));var _0x042f=function(_0x2eb48b,_0x462f31){_0x2eb48b=_0x2eb48b-0x0;var _0x44b4ed=_0x42f0[_0x2eb48b];return _0x44b4ed;};'use strict';var _=require(_0x042f('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0x042f('0x1'));var rs=require(_0x042f('0x2'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x042f('0x3'))['db'];var utils=require(_0x042f('0x4'));var logger=require(_0x042f('0x5'))('rpc');var config=require(_0x042f('0x6'));var jayson=require('jayson/promise');var client=jayson[_0x042f('0x7')]['http']({'port':0x232c});config['redis']=_['defaults'](config['redis'],{'host':_0x042f('0x8'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x042f('0x9'))['register'](socket);function respondWithRpcPromise(_0x3ef566,_0x7f20d,_0x402954){return new BPromise(function(_0x2b9705,_0x33ea39){return client[_0x042f('0xa')](_0x3ef566,_0x402954)[_0x042f('0xb')](function(_0x2a81d0){logger['info'](_0x042f('0xc'),_0x7f20d,_0x042f('0xd'));logger[_0x042f('0xe')]('FaxAccount,\x20%s,\x20%s,\x20%s',_0x7f20d,'request\x20sent',JSON[_0x042f('0xf')](_0x2a81d0));if(_0x2a81d0[_0x042f('0x10')]){if(_0x2a81d0[_0x042f('0x10')]['code']===0x1f4){logger[_0x042f('0x10')](_0x042f('0xc'),_0x7f20d,_0x2a81d0['error'][_0x042f('0x11')]);return _0x33ea39(_0x2a81d0[_0x042f('0x10')][_0x042f('0x11')]);}logger['error'](_0x042f('0xc'),_0x7f20d,_0x2a81d0[_0x042f('0x10')][_0x042f('0x11')]);return _0x2b9705(_0x2a81d0[_0x042f('0x10')]['message']);}else{logger['info'](_0x042f('0xc'),_0x7f20d,'request\x20sent');_0x2b9705(_0x2a81d0[_0x042f('0x12')][_0x042f('0x11')]);}})[_0x042f('0x13')](function(_0x1e4a73){logger[_0x042f('0x10')](_0x042f('0xc'),_0x7f20d,_0x1e4a73);_0x33ea39(_0x1e4a73);});});}exports[_0x042f('0x14')]=function(_0x15e55d){var _0x20751e=this;return new Promise(function(_0x5ea07e,_0x6726ac){return db[_0x042f('0x15')]['findAll']({'raw':_0x15e55d[_0x042f('0x16')]?_0x15e55d[_0x042f('0x16')][_0x042f('0x17')]===undefined?!![]:![]:!![],'where':_0x15e55d[_0x042f('0x16')]?_0x15e55d[_0x042f('0x16')][_0x042f('0x18')]||null:null,'attributes':_0x15e55d[_0x042f('0x16')]?_0x15e55d[_0x042f('0x16')]['attributes']||null:null,'limit':_0x15e55d[_0x042f('0x16')]?_0x15e55d[_0x042f('0x16')][_0x042f('0x19')]||null:null,'include':_0x15e55d[_0x042f('0x16')]?_0x15e55d[_0x042f('0x16')]['include']?_[_0x042f('0x1a')](_0x15e55d['options'][_0x042f('0x1b')],function(_0x500a27){return{'model':db[_0x500a27['model']],'as':_0x500a27['as'],'attributes':_0x500a27[_0x042f('0x1c')],'include':_0x500a27[_0x042f('0x1b')]?_['map'](_0x500a27[_0x042f('0x1b')],function(_0x3efa83){return{'model':db[_0x3efa83[_0x042f('0x1d')]],'as':_0x3efa83['as'],'attributes':_0x3efa83[_0x042f('0x1c')],'include':_0x3efa83[_0x042f('0x1b')]?_['map'](_0x3efa83['include'],function(_0x3842c9){return{'model':db[_0x3842c9['model']],'as':_0x3842c9['as'],'attributes':_0x3842c9[_0x042f('0x1c')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x417336){logger[_0x042f('0x1e')](_0x042f('0x14'),_0x15e55d);logger[_0x042f('0xe')](_0x042f('0x14'),_0x15e55d,JSON[_0x042f('0xf')](_0x417336));_0x5ea07e(_0x417336);})['catch'](function(_0x30af3c){logger[_0x042f('0x10')](_0x042f('0x14'),_0x30af3c['message'],_0x15e55d);_0x6726ac(_0x20751e['error'](0x1f4,_0x30af3c[_0x042f('0x11')]));});});};exports[_0x042f('0x1f')]=function(_0x551b15,_0x21e39d,_0x4b2453){var _0xbd11eb=this;return new Promise(function(_0x438de9,_0x1c32bd){var _0x4bbc17={'body':_0x551b15[_0x042f('0x20')],'channel':_0x042f('0x21')};var _0x50b4e8=[];var _0xa70dff=[];var _0x5b8a5a={};return db[_0x042f('0x22')][_0x042f('0x23')]()[_0x042f('0xb')](function(_0x32aa8d){if(!_0x32aa8d){throw new db[(_0x042f('0x24'))][(_0x042f('0x25'))]('no\x20available\x20attributes');}_0x50b4e8=_[_0x042f('0x26')](_[_0x042f('0x27')](_0x32aa8d),['createdAt',_0x042f('0x28')]);_0xa70dff=_[_0x042f('0x26')](_[_0x042f('0x27')](_0x32aa8d),[_0x042f('0x29'),_0x042f('0x28'),'CompanyId',_0x042f('0x2a')]);if(_0x551b15['body']['id']){delete _0x551b15[_0x042f('0x20')]['id'];}if(_['isNil'](_0x551b15[_0x042f('0x20')][_0x042f('0x2b')])){throw new db['Sequelize'][(_0x042f('0x25'))](_0x042f('0x2c'));}if(_[_0x042f('0x2d')](_0x551b15['body'][_0x042f('0x20')])||_0x551b15['body'][_0x042f('0x20')]===''){throw new db['Sequelize'][(_0x042f('0x25'))](_0x042f('0x2e'));}if(_['isNil'](_0x551b15['body'][_0x042f('0x2f')])){throw new db['Sequelize'][(_0x042f('0x25'))](_0x042f('0x30')+_0xa70dff);}if(!_[_0x042f('0x31')](_0xa70dff,_0x551b15[_0x042f('0x20')][_0x042f('0x2f')])){throw new db[(_0x042f('0x24'))]['ValidationError'](_0x042f('0x32')+_0xa70dff);}_0x5b8a5a[_0x551b15[_0x042f('0x20')][_0x042f('0x2f')]]=_0x551b15['body'][_0x042f('0x2b')];})['then'](function(){return db['FaxAccount']['find']({'where':{'id':_0x551b15['account']['id']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0x042f('0x22')],'as':_0x042f('0x33'),'where':_0x5b8a5a,'limit':0x1,'order':[[_0x042f('0x28'),'DESC']]}]},{'model':db[_0x042f('0x34')],'as':_0x042f('0x35')}]});})['then'](function(_0x115902){if(_0x115902&&_0x115902['List']){var _0x4c7934=_0x115902[_0x042f('0x36')]({'plain':!![]});_0x4bbc17['account']=_0x4c7934;_0x4bbc17[_0x042f('0x37')]=_0x4c7934[_0x042f('0x35')];_0x4bbc17[_0x042f('0x38')]=_0x4c7934[_0x042f('0x39')];_0x4bbc17['applications']=_[_0x042f('0x3a')](_0x4bbc17[_0x042f('0x37')],['priority'],[_0x042f('0x3b')]);if(_0x4bbc17[_0x042f('0x3c')]['Applications']){delete _0x4bbc17[_0x042f('0x3c')][_0x042f('0x35')];}if(_0x4bbc17['account']['List']&&_0x4bbc17[_0x042f('0x3c')]['List'][_0x042f('0x33')]['length']){return _0x4bbc17[_0x042f('0x3c')][_0x042f('0x39')][_0x042f('0x33')][0x0];}var _0x5749cf=_['defaults'](_0x551b15[_0x042f('0x20')],{'firstName':_0x551b15['body']['from'],'ListId':_0x4c7934[_0x042f('0x2a')]});_0x5749cf[_0x551b15['body']['mapKey']]=_0x551b15[_0x042f('0x20')][_0x042f('0x2b')];return db[_0x042f('0x22')][_0x042f('0x3d')](_0x5749cf,{'fields':_0x50b4e8,'raw':!![]});}})['then'](function(_0xf85924){_0x4bbc17[_0x042f('0x3e')]=_0xf85924;if(_0xf85924){var _0x9867e5={'ContactId':_0xf85924['id'],'FaxAccountId':_0x551b15['account']['id'],'fax':_0xf85924[_0x042f('0x21')]};return db['FaxInteraction']['find']({'where':{'ContactId':_0xf85924['id'],'closed':![],'FaxAccountId':_0x551b15[_0x042f('0x3c')]['id']}})[_0x042f('0xb')](function(_0x3e4c76){if(_0x3e4c76){return[_0x3e4c76,![]];}return db[_0x042f('0x3f')]['create'](_0x9867e5)['then'](function(_0x2e491a){return[_0x2e491a,!![]];});});}else{throw new Error(_0x042f('0x40'));}})['spread'](function(_0x4f9c6f,_0xa386eb){var _0x49b92e=_0x4f9c6f[_0x042f('0x36')]({'plain':!![]});if(_0xa386eb){if(_0x4bbc17[_0x042f('0x3c')]['autoclose']){_0x4bbc17[_0x042f('0x37')][_0x042f('0x41')]({'id':0x0,'priority':_0x4bbc17[_0x042f('0x37')]['length']+0x1,'app':'close','appdata':_0x042f('0x42'),'interval':'*,*,*,*'});}_0x49b92e[_0x042f('0x43')]=!![];}else{_0x49b92e[_0x042f('0x43')]=![];}_0x4bbc17[_0x042f('0x44')]=_0x49b92e;return db[_0x042f('0x45')][_0x042f('0x3d')]({'body':_0x551b15[_0x042f('0x20')][_0x042f('0x20')],'FaxAccountId':_0x551b15[_0x042f('0x3c')]['id'],'FaxInteractionId':_0x4f9c6f['id'],'direction':'in','ContactId':_0x4f9c6f[_0x042f('0x46')],'AttachmentId':_0x551b15[_0x042f('0x20')][_0x042f('0x47')]});})[_0x042f('0xb')](function(_0x309fc7){_0x4bbc17[_0x042f('0x11')]=_0x309fc7;if(_0x4bbc17[_0x042f('0x44')][_0x042f('0x48')]){return db[_0x042f('0x49')][_0x042f('0x4a')]({'attributes':['id',_0x042f('0x4b')],'where':{'id':_0x4bbc17[_0x042f('0x44')][_0x042f('0x48')]}})['then'](function(_0x532626){if(_0x532626){_0x4bbc17[_0x042f('0x37')][_0x042f('0x4c')]({'id':0x0,'priority':0x0,'app':_0x042f('0x4d'),'appdata':_0x532626['name']+','+(_0x4bbc17[_0x042f('0x3c')]['waitForTheAssignedAgent']||0xa),'interval':_0x042f('0x4e')});}return respondWithRpcPromise(_0x042f('0x4f'),_0x042f('0x50'),_0x4bbc17);});}return respondWithRpcPromise(_0x042f('0x4f'),_0x042f('0x50'),_0x4bbc17);})[_0x042f('0xb')](function(_0x1fd836){_0x438de9(_0x1fd836);})['catch'](function(_0x41bbb3){_0x1c32bd(_0xbd11eb['error'](0x1f4,_0x41bbb3[_0x042f('0x11')]));});});};