Built motion from commit (unavailable).|2.5.14
[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 _0xee44=['mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','account','List','DESC','FaxApplication','Applications','get','list','applications','priority','asc','Contacts','length','create','FaxInteraction','find','Contact\x20not\x20found','spread','autoclose','close','unmanaged','created','interaction','FaxMessage','ContactId','AttachmentId','User','UserId','unshift','agent','name','startRouting','Start','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils','rpc','client','http','redis','defaults','socket.io-emitter','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','findAll','options','raw','where','limit','include','model','attributes','map','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt','CompanyId','ListId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty'];(function(_0x1dfa63,_0x362bd4){var _0x26f2a9=function(_0x31cc52){while(--_0x31cc52){_0x1dfa63['push'](_0x1dfa63['shift']());}};_0x26f2a9(++_0x362bd4);}(_0xee44,0x188));var _0x4ee4=function(_0x55368f,_0x35d25a){_0x55368f=_0x55368f-0x0;var _0xba4886=_0xee44[_0x55368f];return _0xba4886;};'use strict';var _=require(_0x4ee4('0x0'));var util=require(_0x4ee4('0x1'));var moment=require(_0x4ee4('0x2'));var BPromise=require(_0x4ee4('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x4ee4('0x4'));var db=require(_0x4ee4('0x5'))['db'];var utils=require(_0x4ee4('0x6'));var logger=require('../../config/logger')(_0x4ee4('0x7'));var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson[_0x4ee4('0x8')][_0x4ee4('0x9')]({'port':0x232c});config[_0x4ee4('0xa')]=_[_0x4ee4('0xb')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x4ee4('0xc'))(new Redis(config[_0x4ee4('0xa')]));require('./faxAccount.socket')['register'](socket);function respondWithRpcPromise(_0x2871f6,_0x174ff0,_0x561c1c){return new BPromise(function(_0x3847bd,_0x141022){return client['request'](_0x2871f6,_0x561c1c)[_0x4ee4('0xd')](function(_0xa046f1){logger[_0x4ee4('0xe')](_0x4ee4('0xf'),_0x174ff0,_0x4ee4('0x10'));logger[_0x4ee4('0x11')](_0x4ee4('0x12'),_0x174ff0,_0x4ee4('0x10'),JSON[_0x4ee4('0x13')](_0xa046f1));if(_0xa046f1['error']){if(_0xa046f1[_0x4ee4('0x14')][_0x4ee4('0x15')]===0x1f4){logger['error'](_0x4ee4('0xf'),_0x174ff0,_0xa046f1[_0x4ee4('0x14')][_0x4ee4('0x16')]);return _0x141022(_0xa046f1[_0x4ee4('0x14')][_0x4ee4('0x16')]);}logger[_0x4ee4('0x14')](_0x4ee4('0xf'),_0x174ff0,_0xa046f1[_0x4ee4('0x14')][_0x4ee4('0x16')]);return _0x3847bd(_0xa046f1[_0x4ee4('0x14')][_0x4ee4('0x16')]);}else{logger[_0x4ee4('0xe')]('FaxAccount,\x20%s,\x20%s',_0x174ff0,_0x4ee4('0x10'));_0x3847bd(_0xa046f1[_0x4ee4('0x17')]['message']);}})[_0x4ee4('0x18')](function(_0x486cdc){logger[_0x4ee4('0x14')](_0x4ee4('0xf'),_0x174ff0,_0x486cdc);_0x141022(_0x486cdc);});});}exports[_0x4ee4('0x19')]=function(_0x119ecf){var _0x13991d=this;return new Promise(function(_0x1c1d77,_0x3d46f9){return db[_0x4ee4('0x1a')][_0x4ee4('0x1b')]({'raw':_0x119ecf['options']?_0x119ecf[_0x4ee4('0x1c')][_0x4ee4('0x1d')]===undefined?!![]:![]:!![],'where':_0x119ecf[_0x4ee4('0x1c')]?_0x119ecf[_0x4ee4('0x1c')][_0x4ee4('0x1e')]||null:null,'attributes':_0x119ecf[_0x4ee4('0x1c')]?_0x119ecf[_0x4ee4('0x1c')]['attributes']||null:null,'limit':_0x119ecf[_0x4ee4('0x1c')]?_0x119ecf['options'][_0x4ee4('0x1f')]||null:null,'include':_0x119ecf[_0x4ee4('0x1c')]?_0x119ecf[_0x4ee4('0x1c')][_0x4ee4('0x20')]?_['map'](_0x119ecf['options'][_0x4ee4('0x20')],function(_0xa69395){return{'model':db[_0xa69395[_0x4ee4('0x21')]],'as':_0xa69395['as'],'attributes':_0xa69395[_0x4ee4('0x22')],'include':_0xa69395[_0x4ee4('0x20')]?_[_0x4ee4('0x23')](_0xa69395[_0x4ee4('0x20')],function(_0x130cbc){return{'model':db[_0x130cbc[_0x4ee4('0x21')]],'as':_0x130cbc['as'],'attributes':_0x130cbc['attributes'],'include':_0x130cbc[_0x4ee4('0x20')]?_[_0x4ee4('0x23')](_0x130cbc[_0x4ee4('0x20')],function(_0x32fa0d){return{'model':db[_0x32fa0d[_0x4ee4('0x21')]],'as':_0x32fa0d['as'],'attributes':_0x32fa0d[_0x4ee4('0x22')]};}):[]};}):[]};}):[]:[]})[_0x4ee4('0xd')](function(_0x3bf355){logger[_0x4ee4('0xe')](_0x4ee4('0x19'),_0x119ecf);logger[_0x4ee4('0x11')](_0x4ee4('0x19'),_0x119ecf,JSON[_0x4ee4('0x13')](_0x3bf355));_0x1c1d77(_0x3bf355);})['catch'](function(_0x1c8c1d){logger['error'](_0x4ee4('0x19'),_0x1c8c1d[_0x4ee4('0x16')],_0x119ecf);_0x3d46f9(_0x13991d[_0x4ee4('0x14')](0x1f4,_0x1c8c1d[_0x4ee4('0x16')]));});});};exports[_0x4ee4('0x24')]=function(_0x54d368,_0x3b681f,_0x587e76){var _0x33b0e6=this;return new Promise(function(_0x2ed850,_0x2551ae){var _0x560c52={'body':_0x54d368[_0x4ee4('0x25')],'channel':_0x4ee4('0x26')};var _0x36700b=[];var _0x20c0d8=[];var _0x2006ca={};return db[_0x4ee4('0x27')][_0x4ee4('0x28')]()[_0x4ee4('0xd')](function(_0x381089){if(!_0x381089){throw new db[(_0x4ee4('0x29'))][(_0x4ee4('0x2a'))](_0x4ee4('0x2b'));}_0x36700b=_[_0x4ee4('0x2c')](_['keys'](_0x381089),[_0x4ee4('0x2d'),'updatedAt']);_0x20c0d8=_['difference'](_['keys'](_0x381089),[_0x4ee4('0x2d'),_0x4ee4('0x2e'),_0x4ee4('0x2f'),_0x4ee4('0x30')]);if(_0x54d368[_0x4ee4('0x25')]['id']){delete _0x54d368['body']['id'];}if(_[_0x4ee4('0x31')](_0x54d368[_0x4ee4('0x25')][_0x4ee4('0x32')])){throw new db[(_0x4ee4('0x29'))]['ValidationError'](_0x4ee4('0x33'));}if(_[_0x4ee4('0x31')](_0x54d368[_0x4ee4('0x25')][_0x4ee4('0x25')])||_0x54d368['body'][_0x4ee4('0x25')]===''){throw new db['Sequelize']['ValidationError'](_0x4ee4('0x34'));}if(_['isNil'](_0x54d368['body'][_0x4ee4('0x35')])){throw new db[(_0x4ee4('0x29'))][(_0x4ee4('0x2a'))](_0x4ee4('0x36')+_0x20c0d8);}if(!_[_0x4ee4('0x37')](_0x20c0d8,_0x54d368['body']['mapKey'])){throw new db[(_0x4ee4('0x29'))][(_0x4ee4('0x2a'))](_0x4ee4('0x38')+_0x20c0d8);}_0x2006ca[_0x54d368[_0x4ee4('0x25')][_0x4ee4('0x35')]]=_0x54d368['body'][_0x4ee4('0x32')];})[_0x4ee4('0xd')](function(){return db['FaxAccount']['find']({'where':{'id':_0x54d368[_0x4ee4('0x39')]['id']},'include':[{'model':db['CmList'],'as':_0x4ee4('0x3a'),'include':[{'model':db['CmContact'],'as':'Contacts','where':_0x2006ca,'limit':0x1,'order':[[_0x4ee4('0x2e'),_0x4ee4('0x3b')]]}]},{'model':db[_0x4ee4('0x3c')],'as':_0x4ee4('0x3d')}]});})['then'](function(_0x4c808a){if(_0x4c808a&&_0x4c808a['List']){var _0xccdf2c=_0x4c808a[_0x4ee4('0x3e')]({'plain':!![]});_0x560c52[_0x4ee4('0x39')]=_0xccdf2c;_0x560c52['applications']=_0xccdf2c[_0x4ee4('0x3d')];_0x560c52[_0x4ee4('0x3f')]=_0xccdf2c[_0x4ee4('0x3a')];_0x560c52[_0x4ee4('0x40')]=_['orderBy'](_0x560c52[_0x4ee4('0x40')],[_0x4ee4('0x41')],[_0x4ee4('0x42')]);if(_0x560c52[_0x4ee4('0x39')][_0x4ee4('0x3d')]){delete _0x560c52[_0x4ee4('0x39')][_0x4ee4('0x3d')];}if(_0x560c52[_0x4ee4('0x39')][_0x4ee4('0x3a')]&&_0x560c52[_0x4ee4('0x39')][_0x4ee4('0x3a')][_0x4ee4('0x43')][_0x4ee4('0x44')]){return _0x560c52[_0x4ee4('0x39')][_0x4ee4('0x3a')][_0x4ee4('0x43')][0x0];}var _0x3a004a=_[_0x4ee4('0xb')](_0x54d368[_0x4ee4('0x25')],{'firstName':_0x54d368[_0x4ee4('0x25')][_0x4ee4('0x32')],'ListId':_0xccdf2c['ListId']});_0x3a004a[_0x54d368[_0x4ee4('0x25')]['mapKey']]=_0x54d368[_0x4ee4('0x25')][_0x4ee4('0x32')];return db[_0x4ee4('0x27')][_0x4ee4('0x45')](_0x3a004a,{'fields':_0x36700b,'raw':!![]});}})['then'](function(_0x18da30){_0x560c52['contact']=_0x18da30;if(_0x18da30){var _0x410053={'ContactId':_0x18da30['id'],'FaxAccountId':_0x54d368[_0x4ee4('0x39')]['id'],'fax':_0x18da30[_0x4ee4('0x26')]};return db[_0x4ee4('0x46')][_0x4ee4('0x47')]({'where':{'ContactId':_0x18da30['id'],'closed':![],'FaxAccountId':_0x54d368[_0x4ee4('0x39')]['id']}})[_0x4ee4('0xd')](function(_0x5602c1){if(_0x5602c1){return[_0x5602c1,![]];}return db['FaxInteraction'][_0x4ee4('0x45')](_0x410053)[_0x4ee4('0xd')](function(_0x2c9e8b){return[_0x2c9e8b,!![]];});});}else{throw new Error(_0x4ee4('0x48'));}})[_0x4ee4('0x49')](function(_0xcb4789,_0x464065){var _0x21dd44=_0xcb4789[_0x4ee4('0x3e')]({'plain':!![]});if(_0x464065){if(_0x560c52[_0x4ee4('0x39')][_0x4ee4('0x4a')]){_0x560c52[_0x4ee4('0x40')]['push']({'id':0x0,'priority':_0x560c52[_0x4ee4('0x40')][_0x4ee4('0x44')]+0x1,'app':_0x4ee4('0x4b'),'appdata':_0x4ee4('0x4c'),'interval':'*,*,*,*'});}_0x21dd44[_0x4ee4('0x4d')]=!![];}else{_0x21dd44['created']=![];}_0x560c52[_0x4ee4('0x4e')]=_0x21dd44;return db[_0x4ee4('0x4f')][_0x4ee4('0x45')]({'body':_0x54d368[_0x4ee4('0x25')][_0x4ee4('0x25')],'FaxAccountId':_0x54d368['account']['id'],'FaxInteractionId':_0xcb4789['id'],'direction':'in','ContactId':_0xcb4789[_0x4ee4('0x50')],'AttachmentId':_0x54d368[_0x4ee4('0x25')][_0x4ee4('0x51')]});})[_0x4ee4('0xd')](function(_0x6aec87){_0x560c52[_0x4ee4('0x16')]=_0x6aec87;if(_0x560c52[_0x4ee4('0x4e')]['UserId']){return db[_0x4ee4('0x52')][_0x4ee4('0x47')]({'attributes':['id','name'],'where':{'id':_0x560c52[_0x4ee4('0x4e')][_0x4ee4('0x53')]}})[_0x4ee4('0xd')](function(_0x4b0df4){if(_0x4b0df4){_0x560c52[_0x4ee4('0x40')][_0x4ee4('0x54')]({'id':0x0,'priority':0x0,'app':_0x4ee4('0x55'),'appdata':_0x4b0df4[_0x4ee4('0x56')]+','+(_0x560c52[_0x4ee4('0x39')]['waitForTheAssignedAgent']||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise('Start',_0x4ee4('0x57'),_0x560c52);});}return respondWithRpcPromise(_0x4ee4('0x58'),_0x4ee4('0x57'),_0x560c52);})[_0x4ee4('0xd')](function(_0x50ef7a){_0x2ed850(_0x50ef7a);})[_0x4ee4('0x18')](function(_0x920008){_0x2551ae(_0x33b0e6[_0x4ee4('0x14')](0x1f4,_0x920008['message']));});});};