Built motion from commit (unavailable).|2.5.11
[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 _0x0e5c=['randomstring','ioredis','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','redis','defaults','localhost','./faxAccount.socket','register','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','findAll','options','where','attributes','limit','map','include','model','NotifyFaxAccount','body','CmContact','describe','Sequelize','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','ListId','isNil','from','from\x20is\x20mandatory','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','FaxAccount','find','account','CmList','List','Contacts','FaxApplication','Applications','get','applications','list','orderBy','priority','asc','length','contact','fax','FaxInteraction','create','spread','autoclose','push','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','User','unshift','agent','name','waitForTheAssignedAgent','Start','startRouting','lodash','moment','bluebird'];(function(_0x450890,_0x46ef58){var _0x1d44ac=function(_0x17481c){while(--_0x17481c){_0x450890['push'](_0x450890['shift']());}};_0x1d44ac(++_0x46ef58);}(_0x0e5c,0x1d3));var _0xc0e5=function(_0x3c4f1f,_0x20d3ec){_0x3c4f1f=_0x3c4f1f-0x0;var _0x19cb69=_0x0e5c[_0x3c4f1f];return _0x19cb69;};'use strict';var _=require(_0xc0e5('0x0'));var util=require('util');var moment=require(_0xc0e5('0x1'));var BPromise=require(_0xc0e5('0x2'));var rs=require(_0xc0e5('0x3'));var fs=require('fs');var Redis=require(_0xc0e5('0x4'));var db=require('../../mysqldb')['db'];var utils=require(_0xc0e5('0x5'));var logger=require(_0xc0e5('0x6'))(_0xc0e5('0x7'));var config=require(_0xc0e5('0x8'));var jayson=require(_0xc0e5('0x9'));var client=jayson['client'][_0xc0e5('0xa')]({'port':0x232c});config[_0xc0e5('0xb')]=_[_0xc0e5('0xc')](config['redis'],{'host':_0xc0e5('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xc0e5('0xe'))[_0xc0e5('0xf')](socket);function respondWithRpcPromise(_0x390306,_0x26b217,_0x4ab2bc){return new BPromise(function(_0x591b89,_0x3e62b1){return client[_0xc0e5('0x10')](_0x390306,_0x4ab2bc)[_0xc0e5('0x11')](function(_0x2306ee){logger[_0xc0e5('0x12')](_0xc0e5('0x13'),_0x26b217,_0xc0e5('0x14'));logger[_0xc0e5('0x15')](_0xc0e5('0x16'),_0x26b217,_0xc0e5('0x14'),JSON[_0xc0e5('0x17')](_0x2306ee));if(_0x2306ee[_0xc0e5('0x18')]){if(_0x2306ee[_0xc0e5('0x18')][_0xc0e5('0x19')]===0x1f4){logger[_0xc0e5('0x18')](_0xc0e5('0x13'),_0x26b217,_0x2306ee[_0xc0e5('0x18')][_0xc0e5('0x1a')]);return _0x3e62b1(_0x2306ee[_0xc0e5('0x18')][_0xc0e5('0x1a')]);}logger[_0xc0e5('0x18')](_0xc0e5('0x13'),_0x26b217,_0x2306ee[_0xc0e5('0x18')]['message']);return _0x591b89(_0x2306ee[_0xc0e5('0x18')]['message']);}else{logger[_0xc0e5('0x12')]('FaxAccount,\x20%s,\x20%s',_0x26b217,'request\x20sent');_0x591b89(_0x2306ee[_0xc0e5('0x1b')][_0xc0e5('0x1a')]);}})[_0xc0e5('0x1c')](function(_0x301e06){logger[_0xc0e5('0x18')](_0xc0e5('0x13'),_0x26b217,_0x301e06);_0x3e62b1(_0x301e06);});});}exports[_0xc0e5('0x1d')]=function(_0x555357){var _0x6a4696=this;return new Promise(function(_0xb41cf,_0x2e38f6){return db['FaxAccount'][_0xc0e5('0x1e')]({'raw':_0x555357[_0xc0e5('0x1f')]?_0x555357['options']['raw']===undefined?!![]:![]:!![],'where':_0x555357['options']?_0x555357['options'][_0xc0e5('0x20')]||null:null,'attributes':_0x555357['options']?_0x555357[_0xc0e5('0x1f')][_0xc0e5('0x21')]||null:null,'limit':_0x555357[_0xc0e5('0x1f')]?_0x555357[_0xc0e5('0x1f')][_0xc0e5('0x22')]||null:null,'include':_0x555357[_0xc0e5('0x1f')]?_0x555357[_0xc0e5('0x1f')]['include']?_[_0xc0e5('0x23')](_0x555357['options'][_0xc0e5('0x24')],function(_0x361951){return{'model':db[_0x361951[_0xc0e5('0x25')]],'as':_0x361951['as'],'attributes':_0x361951[_0xc0e5('0x21')],'include':_0x361951[_0xc0e5('0x24')]?_[_0xc0e5('0x23')](_0x361951[_0xc0e5('0x24')],function(_0x43d2c5){return{'model':db[_0x43d2c5[_0xc0e5('0x25')]],'as':_0x43d2c5['as'],'attributes':_0x43d2c5[_0xc0e5('0x21')],'include':_0x43d2c5['include']?_[_0xc0e5('0x23')](_0x43d2c5[_0xc0e5('0x24')],function(_0x4be149){return{'model':db[_0x4be149[_0xc0e5('0x25')]],'as':_0x4be149['as'],'attributes':_0x4be149[_0xc0e5('0x21')]};}):[]};}):[]};}):[]:[]})[_0xc0e5('0x11')](function(_0x28f305){logger[_0xc0e5('0x12')](_0xc0e5('0x1d'),_0x555357);logger['debug'](_0xc0e5('0x1d'),_0x555357,JSON[_0xc0e5('0x17')](_0x28f305));_0xb41cf(_0x28f305);})[_0xc0e5('0x1c')](function(_0x2ec3d4){logger[_0xc0e5('0x18')](_0xc0e5('0x1d'),_0x2ec3d4[_0xc0e5('0x1a')],_0x555357);_0x2e38f6(_0x6a4696[_0xc0e5('0x18')](0x1f4,_0x2ec3d4['message']));});});};exports[_0xc0e5('0x26')]=function(_0x41a477,_0x3bae2a,_0x38bca5){var _0x308a5a=this;return new Promise(function(_0x3bae68,_0x41988b){var _0x558868={'body':_0x41a477[_0xc0e5('0x27')],'channel':'fax'};var _0x2ed2a2=[];var _0x45a171=[];var _0x48a1bc={};return db[_0xc0e5('0x28')][_0xc0e5('0x29')]()[_0xc0e5('0x11')](function(_0x5a4bad){if(!_0x5a4bad){throw new db[(_0xc0e5('0x2a'))][(_0xc0e5('0x2b'))](_0xc0e5('0x2c'));}_0x2ed2a2=_[_0xc0e5('0x2d')](_[_0xc0e5('0x2e')](_0x5a4bad),[_0xc0e5('0x2f'),_0xc0e5('0x30')]);_0x45a171=_[_0xc0e5('0x2d')](_['keys'](_0x5a4bad),[_0xc0e5('0x2f'),_0xc0e5('0x30'),'CompanyId',_0xc0e5('0x31')]);if(_0x41a477['body']['id']){delete _0x41a477['body']['id'];}if(_[_0xc0e5('0x32')](_0x41a477['body'][_0xc0e5('0x33')])){throw new db['Sequelize'][(_0xc0e5('0x2b'))](_0xc0e5('0x34'));}if(_[_0xc0e5('0x32')](_0x41a477['body']['body'])||_0x41a477[_0xc0e5('0x27')][_0xc0e5('0x27')]===''){throw new db[(_0xc0e5('0x2a'))][(_0xc0e5('0x2b'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0xc0e5('0x32')](_0x41a477[_0xc0e5('0x27')]['mapKey'])){throw new db[(_0xc0e5('0x2a'))][(_0xc0e5('0x2b'))](_0xc0e5('0x35')+_0x45a171);}if(!_[_0xc0e5('0x36')](_0x45a171,_0x41a477[_0xc0e5('0x27')][_0xc0e5('0x37')])){throw new db[(_0xc0e5('0x2a'))][(_0xc0e5('0x2b'))](_0xc0e5('0x38')+_0x45a171);}_0x48a1bc[_0x41a477[_0xc0e5('0x27')]['mapKey']]=_0x41a477[_0xc0e5('0x27')][_0xc0e5('0x33')];})[_0xc0e5('0x11')](function(){return db[_0xc0e5('0x39')][_0xc0e5('0x3a')]({'where':{'id':_0x41a477[_0xc0e5('0x3b')]['id']},'include':[{'model':db[_0xc0e5('0x3c')],'as':_0xc0e5('0x3d'),'include':[{'model':db['CmContact'],'as':_0xc0e5('0x3e'),'where':_0x48a1bc,'limit':0x1,'order':[[_0xc0e5('0x30'),'DESC']]}]},{'model':db[_0xc0e5('0x3f')],'as':_0xc0e5('0x40')}]});})[_0xc0e5('0x11')](function(_0x2d8cef){if(_0x2d8cef&&_0x2d8cef[_0xc0e5('0x3d')]){var _0x5266e2=_0x2d8cef[_0xc0e5('0x41')]({'plain':!![]});_0x558868[_0xc0e5('0x3b')]=_0x5266e2;_0x558868[_0xc0e5('0x42')]=_0x5266e2[_0xc0e5('0x40')];_0x558868[_0xc0e5('0x43')]=_0x5266e2[_0xc0e5('0x3d')];_0x558868[_0xc0e5('0x42')]=_[_0xc0e5('0x44')](_0x558868[_0xc0e5('0x42')],[_0xc0e5('0x45')],[_0xc0e5('0x46')]);if(_0x558868[_0xc0e5('0x3b')][_0xc0e5('0x40')]){delete _0x558868[_0xc0e5('0x3b')]['Applications'];}if(_0x558868[_0xc0e5('0x3b')][_0xc0e5('0x3d')]&&_0x558868['account'][_0xc0e5('0x3d')][_0xc0e5('0x3e')][_0xc0e5('0x47')]){return _0x558868[_0xc0e5('0x3b')][_0xc0e5('0x3d')]['Contacts'][0x0];}var _0x13c617=_[_0xc0e5('0xc')](_0x41a477[_0xc0e5('0x27')],{'firstName':_0x41a477['body'][_0xc0e5('0x33')],'ListId':_0x5266e2['ListId']});_0x13c617[_0x41a477['body']['mapKey']]=_0x41a477[_0xc0e5('0x27')][_0xc0e5('0x33')];return db[_0xc0e5('0x28')]['create'](_0x13c617,{'fields':_0x2ed2a2,'raw':!![]});}})[_0xc0e5('0x11')](function(_0xda9f76){_0x558868[_0xc0e5('0x48')]=_0xda9f76;if(_0xda9f76){var _0x3e42f8={'ContactId':_0xda9f76['id'],'FaxAccountId':_0x41a477[_0xc0e5('0x3b')]['id'],'fax':_0xda9f76[_0xc0e5('0x49')]};return db['FaxInteraction'][_0xc0e5('0x3a')]({'where':{'ContactId':_0xda9f76['id'],'closed':![],'FaxAccountId':_0x41a477[_0xc0e5('0x3b')]['id']}})[_0xc0e5('0x11')](function(_0x212a73){if(_0x212a73){return[_0x212a73,![]];}return db[_0xc0e5('0x4a')][_0xc0e5('0x4b')](_0x3e42f8)['then'](function(_0x27217c){return[_0x27217c,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0xc0e5('0x4c')](function(_0x20c282,_0x30a8cd){var _0x14a9f0=_0x20c282[_0xc0e5('0x41')]({'plain':!![]});if(_0x30a8cd){if(_0x558868[_0xc0e5('0x3b')][_0xc0e5('0x4d')]){_0x558868[_0xc0e5('0x42')][_0xc0e5('0x4e')]({'id':0x0,'priority':_0x558868[_0xc0e5('0x42')][_0xc0e5('0x47')]+0x1,'app':'close','appdata':_0xc0e5('0x4f'),'interval':_0xc0e5('0x50')});}_0x14a9f0[_0xc0e5('0x51')]=!![];}else{_0x14a9f0[_0xc0e5('0x51')]=![];}_0x558868[_0xc0e5('0x52')]=_0x14a9f0;return db[_0xc0e5('0x53')][_0xc0e5('0x4b')]({'body':_0x41a477['body'][_0xc0e5('0x27')],'FaxAccountId':_0x41a477[_0xc0e5('0x3b')]['id'],'FaxInteractionId':_0x20c282['id'],'direction':'in','ContactId':_0x20c282[_0xc0e5('0x54')],'AttachmentId':_0x41a477[_0xc0e5('0x27')][_0xc0e5('0x55')]});})['then'](function(_0x222d93){_0x558868[_0xc0e5('0x1a')]=_0x222d93;if(_0x558868[_0xc0e5('0x52')][_0xc0e5('0x56')]){return db[_0xc0e5('0x57')][_0xc0e5('0x3a')]({'attributes':['id','name'],'where':{'id':_0x558868[_0xc0e5('0x52')][_0xc0e5('0x56')]}})[_0xc0e5('0x11')](function(_0x2de7a5){if(_0x2de7a5){_0x558868[_0xc0e5('0x42')][_0xc0e5('0x58')]({'id':0x0,'priority':0x0,'app':_0xc0e5('0x59'),'appdata':_0x2de7a5[_0xc0e5('0x5a')]+','+(_0x558868[_0xc0e5('0x3b')][_0xc0e5('0x5b')]||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0xc0e5('0x5c'),_0xc0e5('0x5d'),_0x558868);});}return respondWithRpcPromise(_0xc0e5('0x5c'),_0xc0e5('0x5d'),_0x558868);})['then'](function(_0x4ee834){_0x3bae68(_0x4ee834);})['catch'](function(_0xa516cf){_0x41988b(_0x308a5a[_0xc0e5('0x18')](0x1f4,_0xa516cf['message']));});});};