Built motion from commit 1fa89557.|2.6.10
[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 _0x9ed6=['register','request','info','FaxAccount,\x20%s,\x20%s','request\x20sent','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','GetFaxAccount','FaxAccount','options','raw','where','limit','include','map','attributes','model','then','debug','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','difference','updatedAt','createdAt','CompanyId','ListId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','account','CmList','DESC','FaxApplication','List','get','applications','list','orderBy','priority','asc','Applications','length','create','contact','FaxInteraction','autoclose','push','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','UserId','User','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','jayson/promise','client','http','redis','defaults','localhost','./faxAccount.socket'];(function(_0x401676,_0x3f1436){var _0x4f13fe=function(_0xd2f197){while(--_0xd2f197){_0x401676['push'](_0x401676['shift']());}};_0x4f13fe(++_0x3f1436);}(_0x9ed6,0x159));var _0x69ed=function(_0x2709a8,_0x1a7682){_0x2709a8=_0x2709a8-0x0;var _0x1f019f=_0x9ed6[_0x2709a8];return _0x1f019f;};'use strict';var _=require(_0x69ed('0x0'));var util=require('util');var moment=require(_0x69ed('0x1'));var BPromise=require(_0x69ed('0x2'));var rs=require(_0x69ed('0x3'));var fs=require('fs');var Redis=require(_0x69ed('0x4'));var db=require(_0x69ed('0x5'))['db'];var utils=require(_0x69ed('0x6'));var logger=require(_0x69ed('0x7'))('rpc');var config=require('../../config/environment');var jayson=require(_0x69ed('0x8'));var client=jayson[_0x69ed('0x9')][_0x69ed('0xa')]({'port':0x232c});config[_0x69ed('0xb')]=_[_0x69ed('0xc')](config['redis'],{'host':_0x69ed('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x69ed('0xb')]));require(_0x69ed('0xe'))[_0x69ed('0xf')](socket);function respondWithRpcPromise(_0x507d54,_0x54de26,_0x2df36a){return new BPromise(function(_0x4aa4e8,_0xf3ec5){return client[_0x69ed('0x10')](_0x507d54,_0x2df36a)['then'](function(_0xd20432){logger[_0x69ed('0x11')](_0x69ed('0x12'),_0x54de26,_0x69ed('0x13'));logger['debug'](_0x69ed('0x14'),_0x54de26,_0x69ed('0x13'),JSON[_0x69ed('0x15')](_0xd20432));if(_0xd20432['error']){if(_0xd20432[_0x69ed('0x16')]['code']===0x1f4){logger['error'](_0x69ed('0x12'),_0x54de26,_0xd20432[_0x69ed('0x16')][_0x69ed('0x17')]);return _0xf3ec5(_0xd20432[_0x69ed('0x16')][_0x69ed('0x17')]);}logger['error'](_0x69ed('0x12'),_0x54de26,_0xd20432[_0x69ed('0x16')][_0x69ed('0x17')]);return _0x4aa4e8(_0xd20432[_0x69ed('0x16')][_0x69ed('0x17')]);}else{logger[_0x69ed('0x11')](_0x69ed('0x12'),_0x54de26,_0x69ed('0x13'));_0x4aa4e8(_0xd20432[_0x69ed('0x18')]['message']);}})[_0x69ed('0x19')](function(_0x375e3a){logger[_0x69ed('0x16')](_0x69ed('0x12'),_0x54de26,_0x375e3a);_0xf3ec5(_0x375e3a);});});}exports[_0x69ed('0x1a')]=function(_0x151ee1){var _0x5e7e31=this;return new Promise(function(_0x2a39e8,_0x18799a){return db[_0x69ed('0x1b')]['findAll']({'raw':_0x151ee1[_0x69ed('0x1c')]?_0x151ee1[_0x69ed('0x1c')][_0x69ed('0x1d')]===undefined?!![]:![]:!![],'where':_0x151ee1[_0x69ed('0x1c')]?_0x151ee1['options'][_0x69ed('0x1e')]||null:null,'attributes':_0x151ee1['options']?_0x151ee1['options']['attributes']||null:null,'limit':_0x151ee1[_0x69ed('0x1c')]?_0x151ee1[_0x69ed('0x1c')][_0x69ed('0x1f')]||null:null,'include':_0x151ee1[_0x69ed('0x1c')]?_0x151ee1[_0x69ed('0x1c')][_0x69ed('0x20')]?_[_0x69ed('0x21')](_0x151ee1['options'][_0x69ed('0x20')],function(_0x136219){return{'model':db[_0x136219['model']],'as':_0x136219['as'],'attributes':_0x136219[_0x69ed('0x22')],'include':_0x136219[_0x69ed('0x20')]?_['map'](_0x136219[_0x69ed('0x20')],function(_0x399331){return{'model':db[_0x399331['model']],'as':_0x399331['as'],'attributes':_0x399331['attributes'],'include':_0x399331[_0x69ed('0x20')]?_[_0x69ed('0x21')](_0x399331[_0x69ed('0x20')],function(_0x4ece68){return{'model':db[_0x4ece68[_0x69ed('0x23')]],'as':_0x4ece68['as'],'attributes':_0x4ece68[_0x69ed('0x22')]};}):[]};}):[]};}):[]:[]})[_0x69ed('0x24')](function(_0x13dd94){logger[_0x69ed('0x11')]('GetFaxAccount',_0x151ee1);logger[_0x69ed('0x25')](_0x69ed('0x1a'),_0x151ee1,JSON[_0x69ed('0x15')](_0x13dd94));_0x2a39e8(_0x13dd94);})['catch'](function(_0x321b3f){logger[_0x69ed('0x16')]('GetFaxAccount',_0x321b3f[_0x69ed('0x17')],_0x151ee1);_0x18799a(_0x5e7e31[_0x69ed('0x16')](0x1f4,_0x321b3f[_0x69ed('0x17')]));});});};exports[_0x69ed('0x26')]=function(_0x4bcb33,_0x123cf6,_0x36d57e){var _0x2ddb81=this;return new Promise(function(_0x4ce6fe,_0x2198a2){var _0xd79f72={'body':_0x4bcb33[_0x69ed('0x27')],'channel':_0x69ed('0x28')};var _0x431047=[];var _0x4b9370=[];var _0x391443={};return db[_0x69ed('0x29')][_0x69ed('0x2a')]()[_0x69ed('0x24')](function(_0x19d63a){if(!_0x19d63a){throw new db[(_0x69ed('0x2b'))][(_0x69ed('0x2c'))]('no\x20available\x20attributes');}_0x431047=_[_0x69ed('0x2d')](_['keys'](_0x19d63a),['createdAt',_0x69ed('0x2e')]);_0x4b9370=_[_0x69ed('0x2d')](_['keys'](_0x19d63a),[_0x69ed('0x2f'),'updatedAt',_0x69ed('0x30'),_0x69ed('0x31')]);if(_0x4bcb33[_0x69ed('0x27')]['id']){delete _0x4bcb33['body']['id'];}if(_[_0x69ed('0x32')](_0x4bcb33['body'][_0x69ed('0x33')])){throw new db[(_0x69ed('0x2b'))][(_0x69ed('0x2c'))](_0x69ed('0x34'));}if(_[_0x69ed('0x32')](_0x4bcb33[_0x69ed('0x27')][_0x69ed('0x27')])||_0x4bcb33[_0x69ed('0x27')][_0x69ed('0x27')]===''){throw new db[(_0x69ed('0x2b'))][(_0x69ed('0x2c'))](_0x69ed('0x35'));}if(_[_0x69ed('0x32')](_0x4bcb33[_0x69ed('0x27')][_0x69ed('0x36')])){throw new db['Sequelize'][(_0x69ed('0x2c'))](_0x69ed('0x37')+_0x4b9370);}if(!_['includes'](_0x4b9370,_0x4bcb33['body'][_0x69ed('0x36')])){throw new db[(_0x69ed('0x2b'))][(_0x69ed('0x2c'))](_0x69ed('0x38')+_0x4b9370);}_0x391443[_0x4bcb33[_0x69ed('0x27')][_0x69ed('0x36')]]=_0x4bcb33[_0x69ed('0x27')][_0x69ed('0x33')];})[_0x69ed('0x24')](function(){return db[_0x69ed('0x1b')][_0x69ed('0x39')]({'where':{'id':_0x4bcb33[_0x69ed('0x3a')]['id']},'include':[{'model':db[_0x69ed('0x3b')],'as':'List','include':[{'model':db[_0x69ed('0x29')],'as':'Contacts','where':_0x391443,'limit':0x1,'order':[[_0x69ed('0x2e'),_0x69ed('0x3c')]]}]},{'model':db[_0x69ed('0x3d')],'as':'Applications'}]});})[_0x69ed('0x24')](function(_0x413c3a){if(_0x413c3a&&_0x413c3a[_0x69ed('0x3e')]){var _0x360609=_0x413c3a[_0x69ed('0x3f')]({'plain':!![]});_0xd79f72[_0x69ed('0x3a')]=_0x360609;_0xd79f72[_0x69ed('0x40')]=_0x360609['Applications'];_0xd79f72[_0x69ed('0x41')]=_0x360609['List'];_0xd79f72[_0x69ed('0x40')]=_[_0x69ed('0x42')](_0xd79f72[_0x69ed('0x40')],[_0x69ed('0x43')],[_0x69ed('0x44')]);if(_0xd79f72[_0x69ed('0x3a')][_0x69ed('0x45')]){delete _0xd79f72[_0x69ed('0x3a')][_0x69ed('0x45')];}if(_0xd79f72['account'][_0x69ed('0x3e')]&&_0xd79f72[_0x69ed('0x3a')][_0x69ed('0x3e')]['Contacts'][_0x69ed('0x46')]){return _0xd79f72['account'][_0x69ed('0x3e')]['Contacts'][0x0];}var _0x557dc6=_['defaults'](_0x4bcb33[_0x69ed('0x27')],{'firstName':_0x4bcb33['body'][_0x69ed('0x33')],'ListId':_0x360609[_0x69ed('0x31')]});_0x557dc6[_0x4bcb33[_0x69ed('0x27')]['mapKey']]=_0x4bcb33[_0x69ed('0x27')]['from'];return db[_0x69ed('0x29')][_0x69ed('0x47')](_0x557dc6,{'fields':_0x431047,'raw':!![]});}})[_0x69ed('0x24')](function(_0x283875){_0xd79f72[_0x69ed('0x48')]=_0x283875;if(_0x283875){var _0x1affc4={'ContactId':_0x283875['id'],'FaxAccountId':_0x4bcb33['account']['id'],'fax':_0x283875[_0x69ed('0x28')]};return db[_0x69ed('0x49')]['find']({'where':{'ContactId':_0x283875['id'],'closed':![],'FaxAccountId':_0x4bcb33[_0x69ed('0x3a')]['id']}})['then'](function(_0x2f563f){if(_0x2f563f){return[_0x2f563f,![]];}return db[_0x69ed('0x49')][_0x69ed('0x47')](_0x1affc4)[_0x69ed('0x24')](function(_0x2558a0){return[_0x2558a0,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})['spread'](function(_0x3aadc5,_0x23058e){var _0x1ea388=_0x3aadc5[_0x69ed('0x3f')]({'plain':!![]});if(_0x23058e){if(_0xd79f72['account'][_0x69ed('0x4a')]){_0xd79f72['applications'][_0x69ed('0x4b')]({'id':0x0,'priority':_0xd79f72[_0x69ed('0x40')][_0x69ed('0x46')]+0x1,'app':'close','appdata':_0x69ed('0x4c'),'interval':_0x69ed('0x4d')});}_0x1ea388[_0x69ed('0x4e')]=!![];}else{_0x1ea388[_0x69ed('0x4e')]=![];}_0xd79f72[_0x69ed('0x4f')]=_0x1ea388;return db[_0x69ed('0x50')][_0x69ed('0x47')]({'body':_0x4bcb33[_0x69ed('0x27')]['body'],'FaxAccountId':_0x4bcb33[_0x69ed('0x3a')]['id'],'FaxInteractionId':_0x3aadc5['id'],'direction':'in','ContactId':_0x3aadc5[_0x69ed('0x51')],'AttachmentId':_0x4bcb33[_0x69ed('0x27')]['AttachmentId']});})['then'](function(_0x500c52){_0xd79f72[_0x69ed('0x17')]=_0x500c52;if(_0xd79f72['interaction'][_0x69ed('0x52')]){return db[_0x69ed('0x53')][_0x69ed('0x39')]({'attributes':['id',_0x69ed('0x54')],'where':{'id':_0xd79f72[_0x69ed('0x4f')]['UserId']}})[_0x69ed('0x24')](function(_0x5e163b){if(_0x5e163b){_0xd79f72[_0x69ed('0x40')][_0x69ed('0x55')]({'id':0x0,'priority':0x0,'app':_0x69ed('0x56'),'appdata':_0x5e163b[_0x69ed('0x54')]+','+(_0xd79f72[_0x69ed('0x3a')][_0x69ed('0x57')]||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0x69ed('0x58'),_0x69ed('0x59'),_0xd79f72);});}return respondWithRpcPromise(_0x69ed('0x58'),_0x69ed('0x59'),_0xd79f72);})[_0x69ed('0x24')](function(_0xef9b8a){_0x4ce6fe(_0xef9b8a);})[_0x69ed('0x19')](function(_0x457c56){_0x2198a2(_0x2ddb81[_0x69ed('0x16')](0x1f4,_0x457c56[_0x69ed('0x17')]));});});};