Built motion from commit 58b0471d.|2.6.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 _0xd715=['no\x20available\x20attributes','difference','keys','createdAt','updatedAt','ListId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','ValidationError','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','account','CmList','List','DESC','FaxApplication','applications','Applications','list','priority','asc','Contacts','length','create','FaxInteraction','find','spread','get','autoclose','unmanaged','*,*,*,*','created','FaxMessage','AttachmentId','interaction','UserId','User','name','unshift','agent','waitForTheAssignedAgent','queueId','FaxQueue','queue','Start','startRouting','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','redis','defaults','socket.io-emitter','register','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','result','FaxAccount','findAll','options','raw','where','attributes','limit','include','model','map','GetFaxAccount','catch','body','fax','CmContact','describe','Sequelize'];(function(_0x30409b,_0x56c640){var _0x2b0524=function(_0x363672){while(--_0x363672){_0x30409b['push'](_0x30409b['shift']());}};_0x2b0524(++_0x56c640);}(_0xd715,0x1aa));var _0x5d71=function(_0x29f6e2,_0x26e8e1){_0x29f6e2=_0x29f6e2-0x0;var _0x25eea9=_0xd715[_0x29f6e2];return _0x25eea9;};'use strict';var _=require(_0x5d71('0x0'));var util=require(_0x5d71('0x1'));var moment=require(_0x5d71('0x2'));var BPromise=require(_0x5d71('0x3'));var rs=require(_0x5d71('0x4'));var fs=require('fs');var Redis=require(_0x5d71('0x5'));var db=require(_0x5d71('0x6'))['db'];var utils=require(_0x5d71('0x7'));var logger=require(_0x5d71('0x8'))(_0x5d71('0x9'));var config=require(_0x5d71('0xa'));var jayson=require(_0x5d71('0xb'));var client=jayson['client'][_0x5d71('0xc')]({'port':0x232c});config[_0x5d71('0xd')]=_[_0x5d71('0xe')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x5d71('0xf'))(new Redis(config[_0x5d71('0xd')]));require('./faxAccount.socket')[_0x5d71('0x10')](socket);function respondWithRpcPromise(_0x37b949,_0x240a11,_0x5c59c9){return new BPromise(function(_0x4f2a68,_0x4de5f4){return client[_0x5d71('0x11')](_0x37b949,_0x5c59c9)[_0x5d71('0x12')](function(_0x18ceb6){logger[_0x5d71('0x13')](_0x5d71('0x14'),_0x240a11,_0x5d71('0x15'));logger[_0x5d71('0x16')]('FaxAccount,\x20%s,\x20%s,\x20%s',_0x240a11,_0x5d71('0x15'),JSON[_0x5d71('0x17')](_0x18ceb6));if(_0x18ceb6[_0x5d71('0x18')]){if(_0x18ceb6[_0x5d71('0x18')]['code']===0x1f4){logger['error']('FaxAccount,\x20%s,\x20%s',_0x240a11,_0x18ceb6[_0x5d71('0x18')][_0x5d71('0x19')]);return _0x4de5f4(_0x18ceb6['error'][_0x5d71('0x19')]);}logger[_0x5d71('0x18')]('FaxAccount,\x20%s,\x20%s',_0x240a11,_0x18ceb6[_0x5d71('0x18')][_0x5d71('0x19')]);return _0x4f2a68(_0x18ceb6['error']['message']);}else{logger[_0x5d71('0x13')](_0x5d71('0x14'),_0x240a11,_0x5d71('0x15'));_0x4f2a68(_0x18ceb6[_0x5d71('0x1a')][_0x5d71('0x19')]);}})['catch'](function(_0x4991e8){logger[_0x5d71('0x18')](_0x5d71('0x14'),_0x240a11,_0x4991e8);_0x4de5f4(_0x4991e8);});});}exports['GetFaxAccount']=function(_0x517da4){var _0x1cb10e=this;return new Promise(function(_0x1e9705,_0x2eb7a0){return db[_0x5d71('0x1b')][_0x5d71('0x1c')]({'raw':_0x517da4['options']?_0x517da4[_0x5d71('0x1d')][_0x5d71('0x1e')]===undefined?!![]:![]:!![],'where':_0x517da4[_0x5d71('0x1d')]?_0x517da4['options'][_0x5d71('0x1f')]||null:null,'attributes':_0x517da4['options']?_0x517da4[_0x5d71('0x1d')][_0x5d71('0x20')]||null:null,'limit':_0x517da4[_0x5d71('0x1d')]?_0x517da4[_0x5d71('0x1d')][_0x5d71('0x21')]||null:null,'include':_0x517da4['options']?_0x517da4[_0x5d71('0x1d')][_0x5d71('0x22')]?_['map'](_0x517da4[_0x5d71('0x1d')][_0x5d71('0x22')],function(_0x3f67ea){return{'model':db[_0x3f67ea[_0x5d71('0x23')]],'as':_0x3f67ea['as'],'attributes':_0x3f67ea[_0x5d71('0x20')],'include':_0x3f67ea[_0x5d71('0x22')]?_[_0x5d71('0x24')](_0x3f67ea[_0x5d71('0x22')],function(_0x363401){return{'model':db[_0x363401[_0x5d71('0x23')]],'as':_0x363401['as'],'attributes':_0x363401['attributes'],'include':_0x363401['include']?_[_0x5d71('0x24')](_0x363401['include'],function(_0x33bfad){return{'model':db[_0x33bfad['model']],'as':_0x33bfad['as'],'attributes':_0x33bfad[_0x5d71('0x20')]};}):[]};}):[]};}):[]:[]})[_0x5d71('0x12')](function(_0x36fd20){logger[_0x5d71('0x13')](_0x5d71('0x25'),_0x517da4);logger[_0x5d71('0x16')](_0x5d71('0x25'),_0x517da4,JSON[_0x5d71('0x17')](_0x36fd20));_0x1e9705(_0x36fd20);})[_0x5d71('0x26')](function(_0x396937){logger[_0x5d71('0x18')](_0x5d71('0x25'),_0x396937[_0x5d71('0x19')],_0x517da4);_0x2eb7a0(_0x1cb10e['error'](0x1f4,_0x396937[_0x5d71('0x19')]));});});};exports['NotifyFaxAccount']=function(_0x3a081c,_0x561183,_0x3e4bb2){var _0x4ea660=this;return new Promise(function(_0x56a969,_0x380e51){var _0x2ed329={'body':_0x3a081c[_0x5d71('0x27')],'channel':_0x5d71('0x28')};var _0x3c99c1=[];var _0x1f5c32=[];var _0x1d284b={};return db[_0x5d71('0x29')][_0x5d71('0x2a')]()['then'](function(_0x3e58e4){if(!_0x3e58e4){throw new db[(_0x5d71('0x2b'))]['ValidationError'](_0x5d71('0x2c'));}_0x3c99c1=_[_0x5d71('0x2d')](_[_0x5d71('0x2e')](_0x3e58e4),[_0x5d71('0x2f'),_0x5d71('0x30')]);_0x1f5c32=_[_0x5d71('0x2d')](_[_0x5d71('0x2e')](_0x3e58e4),[_0x5d71('0x2f'),'updatedAt','CompanyId',_0x5d71('0x31')]);if(_0x3a081c['body']['id']){delete _0x3a081c[_0x5d71('0x27')]['id'];}if(_[_0x5d71('0x32')](_0x3a081c['body'][_0x5d71('0x33')])){throw new db[(_0x5d71('0x2b'))]['ValidationError'](_0x5d71('0x34'));}if(_[_0x5d71('0x32')](_0x3a081c[_0x5d71('0x27')]['body'])||_0x3a081c[_0x5d71('0x27')]['body']===''){throw new db[(_0x5d71('0x2b'))]['ValidationError'](_0x5d71('0x35'));}if(_['isNil'](_0x3a081c['body']['mapKey'])){throw new db[(_0x5d71('0x2b'))][(_0x5d71('0x36'))](_0x5d71('0x37')+_0x1f5c32);}if(!_[_0x5d71('0x38')](_0x1f5c32,_0x3a081c[_0x5d71('0x27')][_0x5d71('0x39')])){throw new db[(_0x5d71('0x2b'))][(_0x5d71('0x36'))](_0x5d71('0x3a')+_0x1f5c32);}_0x1d284b[_0x3a081c[_0x5d71('0x27')][_0x5d71('0x39')]]=_0x3a081c[_0x5d71('0x27')][_0x5d71('0x33')];})[_0x5d71('0x12')](function(){return db[_0x5d71('0x1b')]['find']({'where':{'id':_0x3a081c[_0x5d71('0x3b')]['id']},'include':[{'model':db[_0x5d71('0x3c')],'as':_0x5d71('0x3d'),'include':[{'model':db[_0x5d71('0x29')],'as':'Contacts','where':_0x1d284b,'limit':0x1,'order':[['updatedAt',_0x5d71('0x3e')]]}]},{'model':db[_0x5d71('0x3f')],'as':'Applications'}]});})[_0x5d71('0x12')](function(_0x347a64){if(_0x347a64&&_0x347a64['List']){var _0x3cbaa4=_0x347a64['get']({'plain':!![]});_0x2ed329[_0x5d71('0x3b')]=_0x3cbaa4;_0x2ed329[_0x5d71('0x40')]=_0x3cbaa4[_0x5d71('0x41')];_0x2ed329[_0x5d71('0x42')]=_0x3cbaa4[_0x5d71('0x3d')];_0x2ed329[_0x5d71('0x40')]=_['orderBy'](_0x2ed329['applications'],[_0x5d71('0x43')],[_0x5d71('0x44')]);if(_0x2ed329['account'][_0x5d71('0x41')]){delete _0x2ed329['account'][_0x5d71('0x41')];}if(_0x2ed329[_0x5d71('0x3b')][_0x5d71('0x3d')]&&_0x2ed329[_0x5d71('0x3b')]['List'][_0x5d71('0x45')][_0x5d71('0x46')]){return _0x2ed329[_0x5d71('0x3b')][_0x5d71('0x3d')][_0x5d71('0x45')][0x0];}var _0x465b49=_[_0x5d71('0xe')](_0x3a081c[_0x5d71('0x27')],{'firstName':_0x3a081c['body'][_0x5d71('0x33')],'ListId':_0x3cbaa4[_0x5d71('0x31')]});_0x465b49[_0x3a081c[_0x5d71('0x27')]['mapKey']]=_0x3a081c['body'][_0x5d71('0x33')];return db['CmContact'][_0x5d71('0x47')](_0x465b49,{'fields':_0x3c99c1,'raw':!![]});}})['then'](function(_0x24624c){_0x2ed329['contact']=_0x24624c;if(_0x24624c){var _0x3a6f8b={'ContactId':_0x24624c['id'],'FaxAccountId':_0x3a081c[_0x5d71('0x3b')]['id'],'fax':_0x24624c['fax']};return db[_0x5d71('0x48')][_0x5d71('0x49')]({'where':{'ContactId':_0x24624c['id'],'closed':![],'FaxAccountId':_0x3a081c['account']['id']}})[_0x5d71('0x12')](function(_0x409286){if(_0x409286){return[_0x409286,![]];}return db['FaxInteraction'][_0x5d71('0x47')](_0x3a6f8b)[_0x5d71('0x12')](function(_0x2c0e49){return[_0x2c0e49,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0x5d71('0x4a')](function(_0x117826,_0x1bf6e6){var _0xfe0415=_0x117826[_0x5d71('0x4b')]({'plain':!![]});if(_0x1bf6e6){if(_0x2ed329[_0x5d71('0x3b')][_0x5d71('0x4c')]){_0x2ed329[_0x5d71('0x40')]['push']({'id':0x0,'priority':_0x2ed329[_0x5d71('0x40')]['length']+0x1,'app':'close','appdata':_0x5d71('0x4d'),'interval':_0x5d71('0x4e')});}_0xfe0415[_0x5d71('0x4f')]=!![];}else{_0xfe0415[_0x5d71('0x4f')]=![];}_0x2ed329['interaction']=_0xfe0415;return db[_0x5d71('0x50')][_0x5d71('0x47')]({'body':_0x3a081c[_0x5d71('0x27')][_0x5d71('0x27')],'FaxAccountId':_0x3a081c[_0x5d71('0x3b')]['id'],'FaxInteractionId':_0x117826['id'],'direction':'in','ContactId':_0x117826['ContactId'],'AttachmentId':_0x3a081c[_0x5d71('0x27')][_0x5d71('0x51')]});})['then'](function(_0x3712c6){_0x2ed329[_0x5d71('0x19')]=_0x3712c6;if(!_0x2ed329[_0x5d71('0x52')][_0x5d71('0x53')])return;return db[_0x5d71('0x54')][_0x5d71('0x49')]({'attributes':['id',_0x5d71('0x55')],'where':{'id':_0x2ed329[_0x5d71('0x52')][_0x5d71('0x53')]}});})[_0x5d71('0x12')](function(_0x1a1e3f){if(_0x1a1e3f){_0x2ed329[_0x5d71('0x40')][_0x5d71('0x56')]({'id':0x0,'priority':0x0,'app':_0x5d71('0x57'),'appdata':_0x1a1e3f[_0x5d71('0x55')]+','+(_0x2ed329['account'][_0x5d71('0x58')]||0xa),'interval':_0x5d71('0x4e')});}if(!_0x2ed329[_0x5d71('0x52')][_0x5d71('0x59')])return;return db[_0x5d71('0x5a')]['find']({'attributes':['id','name'],'where':{'id':_0x2ed329[_0x5d71('0x52')]['queueId']}});})[_0x5d71('0x12')](function(_0x38c6b9){if(_0x38c6b9){_0x2ed329['applications'][_0x5d71('0x56')]({'id':0x0,'priority':0x1,'app':_0x5d71('0x5b'),'appdata':_0x38c6b9[_0x5d71('0x55')]+','+(_0x2ed329[_0x5d71('0x3b')]['waitForTheAssignedQueue']||0x12c),'interval':_0x5d71('0x4e')});}return respondWithRpcPromise(_0x5d71('0x5c'),_0x5d71('0x5d'),_0x2ed329);})[_0x5d71('0x12')](function(_0xc31f4f){_0x56a969(_0xc31f4f);})[_0x5d71('0x26')](function(_0x449953){_0x380e51(_0x4ea660[_0x5d71('0x18')](0x1f4,_0x449953[_0x5d71('0x19')]));});});};