Built motion from commit (unavailable).|2.4.18
[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 _0xc7b1=['keys','CompanyId','body','isNil','from','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','List','DESC','Applications','get','applications','list','orderBy','priority','asc','length','Contacts','ListId','create','contact','FaxInteraction','find','Contact\x20not\x20found','spread','autoclose','close','unmanaged','*,*,*,*','created','FaxMessage','ContactId','AttachmentId','interaction','UserId','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','client','defaults','redis','localhost','socket.io-emitter','./faxAccount.socket','request','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','GetFaxAccount','FaxAccount','raw','options','where','attributes','limit','include','model','map','then','stringify','NotifyFaxAccount','fax','CmContact','Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt'];(function(_0xbeb86f,_0x3162e7){var _0x192833=function(_0x498953){while(--_0x498953){_0xbeb86f['push'](_0xbeb86f['shift']());}};_0x192833(++_0x3162e7);}(_0xc7b1,0xe5));var _0x1c7b=function(_0x34c4e1,_0x310387){_0x34c4e1=_0x34c4e1-0x0;var _0x5a11ef=_0xc7b1[_0x34c4e1];return _0x5a11ef;};'use strict';var _=require(_0x1c7b('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0x1c7b('0x1'));var rs=require(_0x1c7b('0x2'));var fs=require('fs');var Redis=require(_0x1c7b('0x3'));var db=require(_0x1c7b('0x4'))['db'];var utils=require('../../config/utils');var logger=require(_0x1c7b('0x5'))(_0x1c7b('0x6'));var config=require(_0x1c7b('0x7'));var jayson=require(_0x1c7b('0x8'));var client=jayson[_0x1c7b('0x9')]['http']({'port':0x232c});config['redis']=_[_0x1c7b('0xa')](config[_0x1c7b('0xb')],{'host':_0x1c7b('0xc'),'port':0x18eb});var socket=require(_0x1c7b('0xd'))(new Redis(config['redis']));require(_0x1c7b('0xe'))['register'](socket);function respondWithRpcPromise(_0x5d344e,_0x487b22,_0x14dbb2){return new BPromise(function(_0x12057e,_0x43823a){return client[_0x1c7b('0xf')](_0x5d344e,_0x14dbb2)['then'](function(_0x369433){logger[_0x1c7b('0x10')](_0x1c7b('0x11'),_0x487b22,_0x1c7b('0x12'));logger[_0x1c7b('0x13')](_0x1c7b('0x14'),_0x487b22,_0x1c7b('0x12'),JSON['stringify'](_0x369433));if(_0x369433[_0x1c7b('0x15')]){if(_0x369433[_0x1c7b('0x15')][_0x1c7b('0x16')]===0x1f4){logger[_0x1c7b('0x15')](_0x1c7b('0x11'),_0x487b22,_0x369433[_0x1c7b('0x15')]['message']);return _0x43823a(_0x369433[_0x1c7b('0x15')][_0x1c7b('0x17')]);}logger[_0x1c7b('0x15')](_0x1c7b('0x11'),_0x487b22,_0x369433[_0x1c7b('0x15')][_0x1c7b('0x17')]);return _0x12057e(_0x369433[_0x1c7b('0x15')]['message']);}else{logger['info']('FaxAccount,\x20%s,\x20%s',_0x487b22,_0x1c7b('0x12'));_0x12057e(_0x369433[_0x1c7b('0x18')]['message']);}})[_0x1c7b('0x19')](function(_0x558cfc){logger[_0x1c7b('0x15')](_0x1c7b('0x11'),_0x487b22,_0x558cfc);_0x43823a(_0x558cfc);});});}exports[_0x1c7b('0x1a')]=function(_0x2c9dbc){var _0x85e0cd=this;return new Promise(function(_0x3bac5a,_0xeac5dc){return db[_0x1c7b('0x1b')]['findAll']({'raw':_0x2c9dbc['options']?_0x2c9dbc['options'][_0x1c7b('0x1c')]===undefined?!![]:![]:!![],'where':_0x2c9dbc['options']?_0x2c9dbc[_0x1c7b('0x1d')][_0x1c7b('0x1e')]||null:null,'attributes':_0x2c9dbc['options']?_0x2c9dbc[_0x1c7b('0x1d')][_0x1c7b('0x1f')]||null:null,'limit':_0x2c9dbc[_0x1c7b('0x1d')]?_0x2c9dbc[_0x1c7b('0x1d')][_0x1c7b('0x20')]||null:null,'include':_0x2c9dbc[_0x1c7b('0x1d')]?_0x2c9dbc[_0x1c7b('0x1d')][_0x1c7b('0x21')]?_['map'](_0x2c9dbc['options'][_0x1c7b('0x21')],function(_0x4dcd24){return{'model':db[_0x4dcd24[_0x1c7b('0x22')]],'as':_0x4dcd24['as'],'attributes':_0x4dcd24['attributes'],'include':_0x4dcd24['include']?_[_0x1c7b('0x23')](_0x4dcd24[_0x1c7b('0x21')],function(_0x299343){return{'model':db[_0x299343[_0x1c7b('0x22')]],'as':_0x299343['as'],'attributes':_0x299343[_0x1c7b('0x1f')],'include':_0x299343[_0x1c7b('0x21')]?_['map'](_0x299343[_0x1c7b('0x21')],function(_0x5007fe){return{'model':db[_0x5007fe[_0x1c7b('0x22')]],'as':_0x5007fe['as'],'attributes':_0x5007fe['attributes']};}):[]};}):[]};}):[]:[]})[_0x1c7b('0x24')](function(_0x5a14dc){logger[_0x1c7b('0x10')](_0x1c7b('0x1a'),_0x2c9dbc);logger[_0x1c7b('0x13')](_0x1c7b('0x1a'),_0x2c9dbc,JSON[_0x1c7b('0x25')](_0x5a14dc));_0x3bac5a(_0x5a14dc);})[_0x1c7b('0x19')](function(_0x2baf8b){logger[_0x1c7b('0x15')](_0x1c7b('0x1a'),_0x2baf8b[_0x1c7b('0x17')],_0x2c9dbc);_0xeac5dc(_0x85e0cd[_0x1c7b('0x15')](0x1f4,_0x2baf8b[_0x1c7b('0x17')]));});});};exports[_0x1c7b('0x26')]=function(_0x193160,_0x530f80,_0x46c981){var _0x2ca271=this;return new Promise(function(_0x8f409f,_0x2e175e){var _0x364c94={'body':_0x193160['body'],'channel':_0x1c7b('0x27')};var _0x2fec2a=[];var _0x187a85=[];var _0x227fe6={};return db[_0x1c7b('0x28')]['describe']()['then'](function(_0x59022c){if(!_0x59022c){throw new db[(_0x1c7b('0x29'))][(_0x1c7b('0x2a'))](_0x1c7b('0x2b'));}_0x2fec2a=_[_0x1c7b('0x2c')](_['keys'](_0x59022c),[_0x1c7b('0x2d'),_0x1c7b('0x2e')]);_0x187a85=_['difference'](_[_0x1c7b('0x2f')](_0x59022c),[_0x1c7b('0x2d'),_0x1c7b('0x2e'),_0x1c7b('0x30'),'ListId']);if(_0x193160[_0x1c7b('0x31')]['id']){delete _0x193160['body']['id'];}if(_[_0x1c7b('0x32')](_0x193160['body'][_0x1c7b('0x33')])){throw new db[(_0x1c7b('0x29'))]['ValidationError']('from\x20is\x20mandatory');}if(_[_0x1c7b('0x32')](_0x193160[_0x1c7b('0x31')][_0x1c7b('0x31')])||_0x193160[_0x1c7b('0x31')][_0x1c7b('0x31')]===''){throw new db[(_0x1c7b('0x29'))][(_0x1c7b('0x2a'))](_0x1c7b('0x34'));}if(_['isNil'](_0x193160[_0x1c7b('0x31')]['mapKey'])){throw new db[(_0x1c7b('0x29'))][(_0x1c7b('0x2a'))](_0x1c7b('0x35')+_0x187a85);}if(!_[_0x1c7b('0x36')](_0x187a85,_0x193160['body'][_0x1c7b('0x37')])){throw new db[(_0x1c7b('0x29'))][(_0x1c7b('0x2a'))](_0x1c7b('0x38')+_0x187a85);}_0x227fe6[_0x193160['body'][_0x1c7b('0x37')]]=_0x193160[_0x1c7b('0x31')][_0x1c7b('0x33')];})[_0x1c7b('0x24')](function(){return db[_0x1c7b('0x1b')]['find']({'where':{'id':_0x193160[_0x1c7b('0x39')]['id']},'include':[{'model':db['CmList'],'as':_0x1c7b('0x3a'),'include':[{'model':db[_0x1c7b('0x28')],'as':'Contacts','where':_0x227fe6,'limit':0x1,'order':[[_0x1c7b('0x2e'),_0x1c7b('0x3b')]]}]},{'model':db['FaxApplication'],'as':_0x1c7b('0x3c')}]});})['then'](function(_0x2fe9c6){if(_0x2fe9c6&&_0x2fe9c6[_0x1c7b('0x3a')]){var _0x187a4e=_0x2fe9c6[_0x1c7b('0x3d')]({'plain':!![]});_0x364c94['account']=_0x187a4e;_0x364c94[_0x1c7b('0x3e')]=_0x187a4e['Applications'];_0x364c94[_0x1c7b('0x3f')]=_0x187a4e[_0x1c7b('0x3a')];_0x364c94[_0x1c7b('0x3e')]=_[_0x1c7b('0x40')](_0x364c94['applications'],[_0x1c7b('0x41')],[_0x1c7b('0x42')]);if(_0x364c94[_0x1c7b('0x39')][_0x1c7b('0x3c')]){delete _0x364c94[_0x1c7b('0x39')]['Applications'];}if(_0x364c94['account'][_0x1c7b('0x3a')]&&_0x364c94['account'][_0x1c7b('0x3a')]['Contacts'][_0x1c7b('0x43')]){return _0x364c94[_0x1c7b('0x39')]['List'][_0x1c7b('0x44')][0x0];}var _0x28978d=_[_0x1c7b('0xa')](_0x193160[_0x1c7b('0x31')],{'firstName':_0x193160[_0x1c7b('0x31')]['from'],'ListId':_0x187a4e[_0x1c7b('0x45')]});_0x28978d[_0x193160['body'][_0x1c7b('0x37')]]=_0x193160[_0x1c7b('0x31')][_0x1c7b('0x33')];return db[_0x1c7b('0x28')][_0x1c7b('0x46')](_0x28978d,{'fields':_0x2fec2a,'raw':!![]});}})[_0x1c7b('0x24')](function(_0x7718){_0x364c94[_0x1c7b('0x47')]=_0x7718;if(_0x7718){var _0xb43d71={'ContactId':_0x7718['id'],'FaxAccountId':_0x193160[_0x1c7b('0x39')]['id'],'fax':_0x7718[_0x1c7b('0x27')]};return db[_0x1c7b('0x48')][_0x1c7b('0x49')]({'where':{'ContactId':_0x7718['id'],'closed':![],'FaxAccountId':_0x193160[_0x1c7b('0x39')]['id']}})[_0x1c7b('0x24')](function(_0x33ab89){if(_0x33ab89){return[_0x33ab89,![]];}return db[_0x1c7b('0x48')][_0x1c7b('0x46')](_0xb43d71)[_0x1c7b('0x24')](function(_0x1dbfe5){return[_0x1dbfe5,!![]];});});}else{throw new Error(_0x1c7b('0x4a'));}})[_0x1c7b('0x4b')](function(_0x443b93,_0x20ba00){var _0x84c052=_0x443b93[_0x1c7b('0x3d')]({'plain':!![]});if(_0x20ba00){if(_0x364c94['account'][_0x1c7b('0x4c')]){_0x364c94[_0x1c7b('0x3e')]['push']({'id':0x0,'priority':_0x364c94[_0x1c7b('0x3e')][_0x1c7b('0x43')]+0x1,'app':_0x1c7b('0x4d'),'appdata':_0x1c7b('0x4e'),'interval':_0x1c7b('0x4f')});}_0x84c052['created']=!![];}else{_0x84c052[_0x1c7b('0x50')]=![];}_0x364c94['interaction']=_0x84c052;return db[_0x1c7b('0x51')][_0x1c7b('0x46')]({'body':_0x193160['body'][_0x1c7b('0x31')],'FaxAccountId':_0x193160[_0x1c7b('0x39')]['id'],'FaxInteractionId':_0x443b93['id'],'direction':'in','ContactId':_0x443b93[_0x1c7b('0x52')],'AttachmentId':_0x193160['body'][_0x1c7b('0x53')]});})[_0x1c7b('0x24')](function(_0x5b68a7){_0x364c94['message']=_0x5b68a7;if(_0x364c94[_0x1c7b('0x54')][_0x1c7b('0x55')]){return db['User'][_0x1c7b('0x49')]({'attributes':['id',_0x1c7b('0x56')],'where':{'id':_0x364c94['interaction'][_0x1c7b('0x55')]}})[_0x1c7b('0x24')](function(_0x433b75){if(_0x433b75){_0x364c94['applications'][_0x1c7b('0x57')]({'id':0x0,'priority':0x0,'app':_0x1c7b('0x58'),'appdata':_0x433b75['name']+','+(_0x364c94[_0x1c7b('0x39')][_0x1c7b('0x59')]||0xa),'interval':_0x1c7b('0x4f')});}return respondWithRpcPromise(_0x1c7b('0x5a'),_0x1c7b('0x5b'),_0x364c94);});}return respondWithRpcPromise(_0x1c7b('0x5a'),'startRouting',_0x364c94);})[_0x1c7b('0x24')](function(_0x23173b){_0x8f409f(_0x23173b);})[_0x1c7b('0x19')](function(_0x368014){_0x2e175e(_0x2ca271[_0x1c7b('0x15')](0x1f4,_0x368014[_0x1c7b('0x17')]));});});};