Built motion from commit 0900f080.|2.5.45
[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 _0xb29f=['register','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','where','include','map','model','attributes','body','fax','Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt','keys','CompanyId','ListId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','account','CmList','List','CmContact','Contacts','DESC','Applications','applications','list','orderBy','priority','asc','create','contact','FaxInteraction','find','Contact\x20not\x20found','get','autoclose','push','length','close','unmanaged','*,*,*,*','created','ContactId','AttachmentId','UserId','User','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','moment','bluebird','randomstring','../../mysqldb','../../config/utils','rpc','../../config/environment','client','http','redis','defaults','localhost'];(function(_0x1c7710,_0x27abe0){var _0x22479b=function(_0x1ae016){while(--_0x1ae016){_0x1c7710['push'](_0x1c7710['shift']());}};_0x22479b(++_0x27abe0);}(_0xb29f,0xfe));var _0xfb29=function(_0x4898eb,_0x23c70d){_0x4898eb=_0x4898eb-0x0;var _0x30536a=_0xb29f[_0x4898eb];return _0x30536a;};'use strict';var _=require(_0xfb29('0x0'));var util=require('util');var moment=require(_0xfb29('0x1'));var BPromise=require(_0xfb29('0x2'));var rs=require(_0xfb29('0x3'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0xfb29('0x4'))['db'];var utils=require(_0xfb29('0x5'));var logger=require('../../config/logger')(_0xfb29('0x6'));var config=require(_0xfb29('0x7'));var jayson=require('jayson/promise');var client=jayson[_0xfb29('0x8')][_0xfb29('0x9')]({'port':0x232c});config[_0xfb29('0xa')]=_[_0xfb29('0xb')](config['redis'],{'host':_0xfb29('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xfb29('0xa')]));require('./faxAccount.socket')[_0xfb29('0xd')](socket);function respondWithRpcPromise(_0x5d8de0,_0x5508ec,_0x100e1a){return new BPromise(function(_0x2016ab,_0xd839ff){return client['request'](_0x5d8de0,_0x100e1a)[_0xfb29('0xe')](function(_0x5a023f){logger[_0xfb29('0xf')](_0xfb29('0x10'),_0x5508ec,_0xfb29('0x11'));logger[_0xfb29('0x12')](_0xfb29('0x13'),_0x5508ec,_0xfb29('0x11'),JSON[_0xfb29('0x14')](_0x5a023f));if(_0x5a023f[_0xfb29('0x15')]){if(_0x5a023f[_0xfb29('0x15')][_0xfb29('0x16')]===0x1f4){logger['error'](_0xfb29('0x10'),_0x5508ec,_0x5a023f['error'][_0xfb29('0x17')]);return _0xd839ff(_0x5a023f['error'][_0xfb29('0x17')]);}logger['error'](_0xfb29('0x10'),_0x5508ec,_0x5a023f[_0xfb29('0x15')]['message']);return _0x2016ab(_0x5a023f['error'][_0xfb29('0x17')]);}else{logger[_0xfb29('0xf')](_0xfb29('0x10'),_0x5508ec,_0xfb29('0x11'));_0x2016ab(_0x5a023f[_0xfb29('0x18')]['message']);}})[_0xfb29('0x19')](function(_0x154540){logger[_0xfb29('0x15')](_0xfb29('0x10'),_0x5508ec,_0x154540);_0xd839ff(_0x154540);});});}exports[_0xfb29('0x1a')]=function(_0x542fe7){var _0x1e4425=this;return new Promise(function(_0x4db797,_0x16c65c){return db[_0xfb29('0x1b')][_0xfb29('0x1c')]({'raw':_0x542fe7[_0xfb29('0x1d')]?_0x542fe7[_0xfb29('0x1d')]['raw']===undefined?!![]:![]:!![],'where':_0x542fe7['options']?_0x542fe7[_0xfb29('0x1d')][_0xfb29('0x1e')]||null:null,'attributes':_0x542fe7['options']?_0x542fe7[_0xfb29('0x1d')]['attributes']||null:null,'limit':_0x542fe7[_0xfb29('0x1d')]?_0x542fe7[_0xfb29('0x1d')]['limit']||null:null,'include':_0x542fe7[_0xfb29('0x1d')]?_0x542fe7[_0xfb29('0x1d')][_0xfb29('0x1f')]?_[_0xfb29('0x20')](_0x542fe7[_0xfb29('0x1d')][_0xfb29('0x1f')],function(_0x271e9d){return{'model':db[_0x271e9d[_0xfb29('0x21')]],'as':_0x271e9d['as'],'attributes':_0x271e9d[_0xfb29('0x22')],'include':_0x271e9d[_0xfb29('0x1f')]?_[_0xfb29('0x20')](_0x271e9d[_0xfb29('0x1f')],function(_0x499b10){return{'model':db[_0x499b10[_0xfb29('0x21')]],'as':_0x499b10['as'],'attributes':_0x499b10[_0xfb29('0x22')],'include':_0x499b10[_0xfb29('0x1f')]?_[_0xfb29('0x20')](_0x499b10['include'],function(_0x58ffbe){return{'model':db[_0x58ffbe[_0xfb29('0x21')]],'as':_0x58ffbe['as'],'attributes':_0x58ffbe['attributes']};}):[]};}):[]};}):[]:[]})[_0xfb29('0xe')](function(_0x1634bc){logger[_0xfb29('0xf')]('GetFaxAccount',_0x542fe7);logger[_0xfb29('0x12')](_0xfb29('0x1a'),_0x542fe7,JSON[_0xfb29('0x14')](_0x1634bc));_0x4db797(_0x1634bc);})[_0xfb29('0x19')](function(_0x30a19f){logger[_0xfb29('0x15')]('GetFaxAccount',_0x30a19f[_0xfb29('0x17')],_0x542fe7);_0x16c65c(_0x1e4425[_0xfb29('0x15')](0x1f4,_0x30a19f[_0xfb29('0x17')]));});});};exports['NotifyFaxAccount']=function(_0x5679d2,_0x3b0826,_0x1d20e1){var _0x5fc11f=this;return new Promise(function(_0x1e88ba,_0x84809c){var _0x3efaf3={'body':_0x5679d2[_0xfb29('0x23')],'channel':_0xfb29('0x24')};var _0x4e1249=[];var _0x1c4d37=[];var _0x1ed352={};return db['CmContact']['describe']()[_0xfb29('0xe')](function(_0x588e5d){if(!_0x588e5d){throw new db[(_0xfb29('0x25'))][(_0xfb29('0x26'))](_0xfb29('0x27'));}_0x4e1249=_[_0xfb29('0x28')](_['keys'](_0x588e5d),[_0xfb29('0x29'),_0xfb29('0x2a')]);_0x1c4d37=_['difference'](_[_0xfb29('0x2b')](_0x588e5d),[_0xfb29('0x29'),_0xfb29('0x2a'),_0xfb29('0x2c'),_0xfb29('0x2d')]);if(_0x5679d2['body']['id']){delete _0x5679d2[_0xfb29('0x23')]['id'];}if(_[_0xfb29('0x2e')](_0x5679d2[_0xfb29('0x23')][_0xfb29('0x2f')])){throw new db[(_0xfb29('0x25'))][(_0xfb29('0x26'))](_0xfb29('0x30'));}if(_[_0xfb29('0x2e')](_0x5679d2[_0xfb29('0x23')]['body'])||_0x5679d2['body']['body']===''){throw new db[(_0xfb29('0x25'))][(_0xfb29('0x26'))](_0xfb29('0x31'));}if(_[_0xfb29('0x2e')](_0x5679d2[_0xfb29('0x23')]['mapKey'])){throw new db[(_0xfb29('0x25'))][(_0xfb29('0x26'))](_0xfb29('0x32')+_0x1c4d37);}if(!_[_0xfb29('0x33')](_0x1c4d37,_0x5679d2['body'][_0xfb29('0x34')])){throw new db['Sequelize'][(_0xfb29('0x26'))](_0xfb29('0x35')+_0x1c4d37);}_0x1ed352[_0x5679d2['body'][_0xfb29('0x34')]]=_0x5679d2[_0xfb29('0x23')]['from'];})[_0xfb29('0xe')](function(){return db['FaxAccount']['find']({'where':{'id':_0x5679d2[_0xfb29('0x36')]['id']},'include':[{'model':db[_0xfb29('0x37')],'as':_0xfb29('0x38'),'include':[{'model':db[_0xfb29('0x39')],'as':_0xfb29('0x3a'),'where':_0x1ed352,'limit':0x1,'order':[[_0xfb29('0x2a'),_0xfb29('0x3b')]]}]},{'model':db['FaxApplication'],'as':_0xfb29('0x3c')}]});})[_0xfb29('0xe')](function(_0x5804ae){if(_0x5804ae&&_0x5804ae[_0xfb29('0x38')]){var _0x5a5307=_0x5804ae['get']({'plain':!![]});_0x3efaf3[_0xfb29('0x36')]=_0x5a5307;_0x3efaf3[_0xfb29('0x3d')]=_0x5a5307[_0xfb29('0x3c')];_0x3efaf3[_0xfb29('0x3e')]=_0x5a5307[_0xfb29('0x38')];_0x3efaf3['applications']=_[_0xfb29('0x3f')](_0x3efaf3[_0xfb29('0x3d')],[_0xfb29('0x40')],[_0xfb29('0x41')]);if(_0x3efaf3[_0xfb29('0x36')][_0xfb29('0x3c')]){delete _0x3efaf3['account']['Applications'];}if(_0x3efaf3[_0xfb29('0x36')]['List']&&_0x3efaf3['account'][_0xfb29('0x38')][_0xfb29('0x3a')]['length']){return _0x3efaf3[_0xfb29('0x36')][_0xfb29('0x38')][_0xfb29('0x3a')][0x0];}var _0x22f395=_[_0xfb29('0xb')](_0x5679d2[_0xfb29('0x23')],{'firstName':_0x5679d2[_0xfb29('0x23')][_0xfb29('0x2f')],'ListId':_0x5a5307[_0xfb29('0x2d')]});_0x22f395[_0x5679d2[_0xfb29('0x23')][_0xfb29('0x34')]]=_0x5679d2[_0xfb29('0x23')][_0xfb29('0x2f')];return db['CmContact'][_0xfb29('0x42')](_0x22f395,{'fields':_0x4e1249,'raw':!![]});}})['then'](function(_0x281d46){_0x3efaf3[_0xfb29('0x43')]=_0x281d46;if(_0x281d46){var _0x2a0221={'ContactId':_0x281d46['id'],'FaxAccountId':_0x5679d2[_0xfb29('0x36')]['id'],'fax':_0x281d46[_0xfb29('0x24')]};return db[_0xfb29('0x44')][_0xfb29('0x45')]({'where':{'ContactId':_0x281d46['id'],'closed':![],'FaxAccountId':_0x5679d2[_0xfb29('0x36')]['id']}})[_0xfb29('0xe')](function(_0x479b5e){if(_0x479b5e){return[_0x479b5e,![]];}return db[_0xfb29('0x44')][_0xfb29('0x42')](_0x2a0221)['then'](function(_0x415cd0){return[_0x415cd0,!![]];});});}else{throw new Error(_0xfb29('0x46'));}})['spread'](function(_0x2b4fad,_0x47966f){var _0x3c601c=_0x2b4fad[_0xfb29('0x47')]({'plain':!![]});if(_0x47966f){if(_0x3efaf3[_0xfb29('0x36')][_0xfb29('0x48')]){_0x3efaf3[_0xfb29('0x3d')][_0xfb29('0x49')]({'id':0x0,'priority':_0x3efaf3['applications'][_0xfb29('0x4a')]+0x1,'app':_0xfb29('0x4b'),'appdata':_0xfb29('0x4c'),'interval':_0xfb29('0x4d')});}_0x3c601c[_0xfb29('0x4e')]=!![];}else{_0x3c601c[_0xfb29('0x4e')]=![];}_0x3efaf3['interaction']=_0x3c601c;return db['FaxMessage'][_0xfb29('0x42')]({'body':_0x5679d2['body'][_0xfb29('0x23')],'FaxAccountId':_0x5679d2[_0xfb29('0x36')]['id'],'FaxInteractionId':_0x2b4fad['id'],'direction':'in','ContactId':_0x2b4fad[_0xfb29('0x4f')],'AttachmentId':_0x5679d2['body'][_0xfb29('0x50')]});})[_0xfb29('0xe')](function(_0x2990ee){_0x3efaf3[_0xfb29('0x17')]=_0x2990ee;if(_0x3efaf3['interaction'][_0xfb29('0x51')]){return db[_0xfb29('0x52')][_0xfb29('0x45')]({'attributes':['id',_0xfb29('0x53')],'where':{'id':_0x3efaf3['interaction'][_0xfb29('0x51')]}})[_0xfb29('0xe')](function(_0x293e0c){if(_0x293e0c){_0x3efaf3[_0xfb29('0x3d')][_0xfb29('0x54')]({'id':0x0,'priority':0x0,'app':_0xfb29('0x55'),'appdata':_0x293e0c[_0xfb29('0x53')]+','+(_0x3efaf3['account'][_0xfb29('0x56')]||0xa),'interval':_0xfb29('0x4d')});}return respondWithRpcPromise(_0xfb29('0x57'),_0xfb29('0x58'),_0x3efaf3);});}return respondWithRpcPromise(_0xfb29('0x57'),_0xfb29('0x58'),_0x3efaf3);})['then'](function(_0x5a4cf4){_0x1e88ba(_0x5a4cf4);})[_0xfb29('0x19')](function(_0x412d9c){_0x84809c(_0x5fc11f['error'](0x1f4,_0x412d9c[_0xfb29('0x17')]));});});};