Built motion from commit (unavailable).|2.5.29
[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 _0xb4ea=['interaction','UserId','User','name','waitForTheAssignedAgent','startRouting','Start','lodash','moment','bluebird','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','redis','localhost','socket.io-emitter','./faxAccount.socket','register','request','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','include','map','model','attributes','then','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','difference','keys','createdAt','updatedAt','ListId','isNil','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','from','find','account','CmList','List','Contacts','FaxApplication','Applications','get','list','applications','orderBy','priority','length','create','Contact\x20not\x20found','spread','autoclose','push','unmanaged','*,*,*,*','created','FaxMessage','ContactId','AttachmentId'];(function(_0x2dd390,_0x1bc894){var _0x3afe47=function(_0x42d8d3){while(--_0x42d8d3){_0x2dd390['push'](_0x2dd390['shift']());}};_0x3afe47(++_0x1bc894);}(_0xb4ea,0x1ba));var _0xab4e=function(_0x2e2b90,_0xbc233b){_0x2e2b90=_0x2e2b90-0x0;var _0x5c50f0=_0xb4ea[_0x2e2b90];return _0x5c50f0;};'use strict';var _=require(_0xab4e('0x0'));var util=require('util');var moment=require(_0xab4e('0x1'));var BPromise=require(_0xab4e('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0xab4e('0x3'))['db'];var utils=require(_0xab4e('0x4'));var logger=require(_0xab4e('0x5'))(_0xab4e('0x6'));var config=require(_0xab4e('0x7'));var jayson=require(_0xab4e('0x8'));var client=jayson['client'][_0xab4e('0x9')]({'port':0x232c});config[_0xab4e('0xa')]=_['defaults'](config['redis'],{'host':_0xab4e('0xb'),'port':0x18eb});var socket=require(_0xab4e('0xc'))(new Redis(config['redis']));require(_0xab4e('0xd'))[_0xab4e('0xe')](socket);function respondWithRpcPromise(_0x3756e8,_0x5827a3,_0x14d391){return new BPromise(function(_0x2f3a38,_0x29b8d7){return client[_0xab4e('0xf')](_0x3756e8,_0x14d391)['then'](function(_0x42605c){logger[_0xab4e('0x10')](_0xab4e('0x11'),_0x5827a3,_0xab4e('0x12'));logger[_0xab4e('0x13')](_0xab4e('0x14'),_0x5827a3,'request\x20sent',JSON[_0xab4e('0x15')](_0x42605c));if(_0x42605c[_0xab4e('0x16')]){if(_0x42605c[_0xab4e('0x16')][_0xab4e('0x17')]===0x1f4){logger[_0xab4e('0x16')]('FaxAccount,\x20%s,\x20%s',_0x5827a3,_0x42605c[_0xab4e('0x16')][_0xab4e('0x18')]);return _0x29b8d7(_0x42605c['error'][_0xab4e('0x18')]);}logger[_0xab4e('0x16')]('FaxAccount,\x20%s,\x20%s',_0x5827a3,_0x42605c[_0xab4e('0x16')][_0xab4e('0x18')]);return _0x2f3a38(_0x42605c[_0xab4e('0x16')][_0xab4e('0x18')]);}else{logger[_0xab4e('0x10')]('FaxAccount,\x20%s,\x20%s',_0x5827a3,'request\x20sent');_0x2f3a38(_0x42605c[_0xab4e('0x19')]['message']);}})[_0xab4e('0x1a')](function(_0x6341cc){logger['error']('FaxAccount,\x20%s,\x20%s',_0x5827a3,_0x6341cc);_0x29b8d7(_0x6341cc);});});}exports[_0xab4e('0x1b')]=function(_0x172279){var _0x3f0e50=this;return new Promise(function(_0x312d36,_0x2093bd){return db[_0xab4e('0x1c')][_0xab4e('0x1d')]({'raw':_0x172279[_0xab4e('0x1e')]?_0x172279[_0xab4e('0x1e')][_0xab4e('0x1f')]===undefined?!![]:![]:!![],'where':_0x172279[_0xab4e('0x1e')]?_0x172279[_0xab4e('0x1e')][_0xab4e('0x20')]||null:null,'attributes':_0x172279[_0xab4e('0x1e')]?_0x172279['options']['attributes']||null:null,'limit':_0x172279[_0xab4e('0x1e')]?_0x172279[_0xab4e('0x1e')]['limit']||null:null,'include':_0x172279[_0xab4e('0x1e')]?_0x172279[_0xab4e('0x1e')][_0xab4e('0x21')]?_[_0xab4e('0x22')](_0x172279[_0xab4e('0x1e')]['include'],function(_0x554781){return{'model':db[_0x554781[_0xab4e('0x23')]],'as':_0x554781['as'],'attributes':_0x554781[_0xab4e('0x24')],'include':_0x554781[_0xab4e('0x21')]?_[_0xab4e('0x22')](_0x554781['include'],function(_0x28f997){return{'model':db[_0x28f997[_0xab4e('0x23')]],'as':_0x28f997['as'],'attributes':_0x28f997[_0xab4e('0x24')],'include':_0x28f997[_0xab4e('0x21')]?_[_0xab4e('0x22')](_0x28f997[_0xab4e('0x21')],function(_0x10adbe){return{'model':db[_0x10adbe[_0xab4e('0x23')]],'as':_0x10adbe['as'],'attributes':_0x10adbe[_0xab4e('0x24')]};}):[]};}):[]};}):[]:[]})[_0xab4e('0x25')](function(_0x5d41e5){logger['info']('GetFaxAccount',_0x172279);logger[_0xab4e('0x13')](_0xab4e('0x1b'),_0x172279,JSON[_0xab4e('0x15')](_0x5d41e5));_0x312d36(_0x5d41e5);})['catch'](function(_0x261ed7){logger[_0xab4e('0x16')](_0xab4e('0x1b'),_0x261ed7[_0xab4e('0x18')],_0x172279);_0x2093bd(_0x3f0e50['error'](0x1f4,_0x261ed7[_0xab4e('0x18')]));});});};exports[_0xab4e('0x26')]=function(_0x792878,_0x547dcb,_0x28f600){var _0x316af7=this;return new Promise(function(_0x7200c6,_0x5c6400){var _0x134535={'body':_0x792878[_0xab4e('0x27')],'channel':_0xab4e('0x28')};var _0x94d1e8=[];var _0x2fecc4=[];var _0x2bbfcb={};return db[_0xab4e('0x29')][_0xab4e('0x2a')]()[_0xab4e('0x25')](function(_0x19f50c){if(!_0x19f50c){throw new db[(_0xab4e('0x2b'))][(_0xab4e('0x2c'))]('no\x20available\x20attributes');}_0x94d1e8=_[_0xab4e('0x2d')](_[_0xab4e('0x2e')](_0x19f50c),[_0xab4e('0x2f'),'updatedAt']);_0x2fecc4=_[_0xab4e('0x2d')](_[_0xab4e('0x2e')](_0x19f50c),[_0xab4e('0x2f'),_0xab4e('0x30'),'CompanyId',_0xab4e('0x31')]);if(_0x792878[_0xab4e('0x27')]['id']){delete _0x792878[_0xab4e('0x27')]['id'];}if(_[_0xab4e('0x32')](_0x792878[_0xab4e('0x27')]['from'])){throw new db[(_0xab4e('0x2b'))][(_0xab4e('0x2c'))]('from\x20is\x20mandatory');}if(_['isNil'](_0x792878['body'][_0xab4e('0x27')])||_0x792878['body']['body']===''){throw new db[(_0xab4e('0x2b'))][(_0xab4e('0x2c'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0xab4e('0x32')](_0x792878[_0xab4e('0x27')]['mapKey'])){throw new db[(_0xab4e('0x2b'))][(_0xab4e('0x2c'))](_0xab4e('0x33')+_0x2fecc4);}if(!_[_0xab4e('0x34')](_0x2fecc4,_0x792878[_0xab4e('0x27')][_0xab4e('0x35')])){throw new db[(_0xab4e('0x2b'))][(_0xab4e('0x2c'))](_0xab4e('0x36')+_0x2fecc4);}_0x2bbfcb[_0x792878[_0xab4e('0x27')]['mapKey']]=_0x792878['body'][_0xab4e('0x37')];})['then'](function(){return db['FaxAccount'][_0xab4e('0x38')]({'where':{'id':_0x792878[_0xab4e('0x39')]['id']},'include':[{'model':db[_0xab4e('0x3a')],'as':_0xab4e('0x3b'),'include':[{'model':db[_0xab4e('0x29')],'as':_0xab4e('0x3c'),'where':_0x2bbfcb,'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0xab4e('0x3d')],'as':_0xab4e('0x3e')}]});})[_0xab4e('0x25')](function(_0x26b01a){if(_0x26b01a&&_0x26b01a['List']){var _0x1dd603=_0x26b01a[_0xab4e('0x3f')]({'plain':!![]});_0x134535[_0xab4e('0x39')]=_0x1dd603;_0x134535['applications']=_0x1dd603[_0xab4e('0x3e')];_0x134535[_0xab4e('0x40')]=_0x1dd603['List'];_0x134535[_0xab4e('0x41')]=_[_0xab4e('0x42')](_0x134535[_0xab4e('0x41')],[_0xab4e('0x43')],['asc']);if(_0x134535[_0xab4e('0x39')][_0xab4e('0x3e')]){delete _0x134535['account'][_0xab4e('0x3e')];}if(_0x134535['account'][_0xab4e('0x3b')]&&_0x134535['account'][_0xab4e('0x3b')]['Contacts'][_0xab4e('0x44')]){return _0x134535['account']['List']['Contacts'][0x0];}var _0x2e698b=_['defaults'](_0x792878['body'],{'firstName':_0x792878[_0xab4e('0x27')][_0xab4e('0x37')],'ListId':_0x1dd603[_0xab4e('0x31')]});_0x2e698b[_0x792878[_0xab4e('0x27')][_0xab4e('0x35')]]=_0x792878[_0xab4e('0x27')][_0xab4e('0x37')];return db[_0xab4e('0x29')][_0xab4e('0x45')](_0x2e698b,{'fields':_0x94d1e8,'raw':!![]});}})[_0xab4e('0x25')](function(_0x583dbb){_0x134535['contact']=_0x583dbb;if(_0x583dbb){var _0x236795={'ContactId':_0x583dbb['id'],'FaxAccountId':_0x792878[_0xab4e('0x39')]['id'],'fax':_0x583dbb[_0xab4e('0x28')]};return db['FaxInteraction'][_0xab4e('0x38')]({'where':{'ContactId':_0x583dbb['id'],'closed':![],'FaxAccountId':_0x792878[_0xab4e('0x39')]['id']}})['then'](function(_0x52e1e1){if(_0x52e1e1){return[_0x52e1e1,![]];}return db['FaxInteraction'][_0xab4e('0x45')](_0x236795)[_0xab4e('0x25')](function(_0x549769){return[_0x549769,!![]];});});}else{throw new Error(_0xab4e('0x46'));}})[_0xab4e('0x47')](function(_0x4deec6,_0xd721e2){var _0xc9f0e6=_0x4deec6['get']({'plain':!![]});if(_0xd721e2){if(_0x134535[_0xab4e('0x39')][_0xab4e('0x48')]){_0x134535[_0xab4e('0x41')][_0xab4e('0x49')]({'id':0x0,'priority':_0x134535['applications'][_0xab4e('0x44')]+0x1,'app':'close','appdata':_0xab4e('0x4a'),'interval':_0xab4e('0x4b')});}_0xc9f0e6[_0xab4e('0x4c')]=!![];}else{_0xc9f0e6[_0xab4e('0x4c')]=![];}_0x134535['interaction']=_0xc9f0e6;return db[_0xab4e('0x4d')]['create']({'body':_0x792878[_0xab4e('0x27')]['body'],'FaxAccountId':_0x792878[_0xab4e('0x39')]['id'],'FaxInteractionId':_0x4deec6['id'],'direction':'in','ContactId':_0x4deec6[_0xab4e('0x4e')],'AttachmentId':_0x792878[_0xab4e('0x27')][_0xab4e('0x4f')]});})['then'](function(_0x14da3e){_0x134535[_0xab4e('0x18')]=_0x14da3e;if(_0x134535[_0xab4e('0x50')][_0xab4e('0x51')]){return db[_0xab4e('0x52')][_0xab4e('0x38')]({'attributes':['id',_0xab4e('0x53')],'where':{'id':_0x134535['interaction']['UserId']}})[_0xab4e('0x25')](function(_0x22aba9){if(_0x22aba9){_0x134535[_0xab4e('0x41')]['unshift']({'id':0x0,'priority':0x0,'app':'agent','appdata':_0x22aba9[_0xab4e('0x53')]+','+(_0x134535[_0xab4e('0x39')][_0xab4e('0x54')]||0xa),'interval':_0xab4e('0x4b')});}return respondWithRpcPromise('Start',_0xab4e('0x55'),_0x134535);});}return respondWithRpcPromise(_0xab4e('0x56'),_0xab4e('0x55'),_0x134535);})[_0xab4e('0x25')](function(_0x3d0e3d){_0x7200c6(_0x3d0e3d);})[_0xab4e('0x1a')](function(_0x58c019){_0x5c6400(_0x316af7[_0xab4e('0x16')](0x1f4,_0x58c019[_0xab4e('0x18')]));});});};