Built motion from commit 092f8824.|2.5.49
[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 _0xea64=['raw','options','where','limit','include','map','model','attributes','message','NotifyFaxAccount','body','fax','describe','no\x20available\x20attributes','difference','updatedAt','keys','createdAt','ListId','isNil','from','Sequelize','ValidationError','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','FaxAccount','account','CmList','List','CmContact','Contacts','FaxApplication','Applications','applications','orderBy','priority','asc','create','contact','find','Contact\x20not\x20found','spread','get','autoclose','push','length','unmanaged','*,*,*,*','created','interaction','FaxMessage','ContactId','UserId','User','name','unshift','agent','Start','startRouting','lodash','util','moment','ioredis','../../config/logger','rpc','../../config/environment','client','http','redis','localhost','socket.io-emitter','./faxAccount.socket','register','request','then','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','info','catch','GetFaxAccount'];(function(_0x221b8c,_0x2c7afc){var _0x3fab9f=function(_0x28bab0){while(--_0x28bab0){_0x221b8c['push'](_0x221b8c['shift']());}};_0x3fab9f(++_0x2c7afc);}(_0xea64,0x1a3));var _0x4ea6=function(_0x3118f1,_0x143584){_0x3118f1=_0x3118f1-0x0;var _0x330562=_0xea64[_0x3118f1];return _0x330562;};'use strict';var _=require(_0x4ea6('0x0'));var util=require(_0x4ea6('0x1'));var moment=require(_0x4ea6('0x2'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x4ea6('0x3'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require(_0x4ea6('0x4'))(_0x4ea6('0x5'));var config=require(_0x4ea6('0x6'));var jayson=require('jayson/promise');var client=jayson[_0x4ea6('0x7')][_0x4ea6('0x8')]({'port':0x232c});config[_0x4ea6('0x9')]=_['defaults'](config[_0x4ea6('0x9')],{'host':_0x4ea6('0xa'),'port':0x18eb});var socket=require(_0x4ea6('0xb'))(new Redis(config['redis']));require(_0x4ea6('0xc'))[_0x4ea6('0xd')](socket);function respondWithRpcPromise(_0x5efad1,_0x16825d,_0xa5a940){return new BPromise(function(_0x48ff72,_0x3ff136){return client[_0x4ea6('0xe')](_0x5efad1,_0xa5a940)[_0x4ea6('0xf')](function(_0x242ec8){logger['info'](_0x4ea6('0x10'),_0x16825d,_0x4ea6('0x11'));logger[_0x4ea6('0x12')](_0x4ea6('0x13'),_0x16825d,_0x4ea6('0x11'),JSON[_0x4ea6('0x14')](_0x242ec8));if(_0x242ec8[_0x4ea6('0x15')]){if(_0x242ec8[_0x4ea6('0x15')][_0x4ea6('0x16')]===0x1f4){logger['error'](_0x4ea6('0x10'),_0x16825d,_0x242ec8[_0x4ea6('0x15')]['message']);return _0x3ff136(_0x242ec8[_0x4ea6('0x15')]['message']);}logger[_0x4ea6('0x15')](_0x4ea6('0x10'),_0x16825d,_0x242ec8[_0x4ea6('0x15')]['message']);return _0x48ff72(_0x242ec8[_0x4ea6('0x15')]['message']);}else{logger[_0x4ea6('0x17')](_0x4ea6('0x10'),_0x16825d,_0x4ea6('0x11'));_0x48ff72(_0x242ec8['result']['message']);}})[_0x4ea6('0x18')](function(_0x588314){logger[_0x4ea6('0x15')](_0x4ea6('0x10'),_0x16825d,_0x588314);_0x3ff136(_0x588314);});});}exports[_0x4ea6('0x19')]=function(_0x1fc705){var _0x566fd1=this;return new Promise(function(_0x383acb,_0x357794){return db['FaxAccount']['findAll']({'raw':_0x1fc705['options']?_0x1fc705['options'][_0x4ea6('0x1a')]===undefined?!![]:![]:!![],'where':_0x1fc705[_0x4ea6('0x1b')]?_0x1fc705[_0x4ea6('0x1b')][_0x4ea6('0x1c')]||null:null,'attributes':_0x1fc705[_0x4ea6('0x1b')]?_0x1fc705[_0x4ea6('0x1b')]['attributes']||null:null,'limit':_0x1fc705[_0x4ea6('0x1b')]?_0x1fc705[_0x4ea6('0x1b')][_0x4ea6('0x1d')]||null:null,'include':_0x1fc705[_0x4ea6('0x1b')]?_0x1fc705[_0x4ea6('0x1b')][_0x4ea6('0x1e')]?_[_0x4ea6('0x1f')](_0x1fc705[_0x4ea6('0x1b')][_0x4ea6('0x1e')],function(_0x1b9a38){return{'model':db[_0x1b9a38[_0x4ea6('0x20')]],'as':_0x1b9a38['as'],'attributes':_0x1b9a38[_0x4ea6('0x21')],'include':_0x1b9a38['include']?_[_0x4ea6('0x1f')](_0x1b9a38['include'],function(_0x172bfa){return{'model':db[_0x172bfa[_0x4ea6('0x20')]],'as':_0x172bfa['as'],'attributes':_0x172bfa[_0x4ea6('0x21')],'include':_0x172bfa['include']?_['map'](_0x172bfa[_0x4ea6('0x1e')],function(_0x58c349){return{'model':db[_0x58c349[_0x4ea6('0x20')]],'as':_0x58c349['as'],'attributes':_0x58c349[_0x4ea6('0x21')]};}):[]};}):[]};}):[]:[]})[_0x4ea6('0xf')](function(_0x49397f){logger[_0x4ea6('0x17')](_0x4ea6('0x19'),_0x1fc705);logger[_0x4ea6('0x12')](_0x4ea6('0x19'),_0x1fc705,JSON[_0x4ea6('0x14')](_0x49397f));_0x383acb(_0x49397f);})[_0x4ea6('0x18')](function(_0x375c6b){logger[_0x4ea6('0x15')]('GetFaxAccount',_0x375c6b[_0x4ea6('0x22')],_0x1fc705);_0x357794(_0x566fd1[_0x4ea6('0x15')](0x1f4,_0x375c6b[_0x4ea6('0x22')]));});});};exports[_0x4ea6('0x23')]=function(_0x3058e3,_0x36b127,_0x9fac36){var _0x2bca16=this;return new Promise(function(_0x2273f5,_0x3ebca7){var _0x21a290={'body':_0x3058e3[_0x4ea6('0x24')],'channel':_0x4ea6('0x25')};var _0x4d6129=[];var _0x52d448=[];var _0x18968f={};return db['CmContact'][_0x4ea6('0x26')]()[_0x4ea6('0xf')](function(_0x2083ec){if(!_0x2083ec){throw new db['Sequelize']['ValidationError'](_0x4ea6('0x27'));}_0x4d6129=_[_0x4ea6('0x28')](_['keys'](_0x2083ec),['createdAt',_0x4ea6('0x29')]);_0x52d448=_[_0x4ea6('0x28')](_[_0x4ea6('0x2a')](_0x2083ec),[_0x4ea6('0x2b'),_0x4ea6('0x29'),'CompanyId',_0x4ea6('0x2c')]);if(_0x3058e3[_0x4ea6('0x24')]['id']){delete _0x3058e3[_0x4ea6('0x24')]['id'];}if(_[_0x4ea6('0x2d')](_0x3058e3['body'][_0x4ea6('0x2e')])){throw new db[(_0x4ea6('0x2f'))][(_0x4ea6('0x30'))](_0x4ea6('0x31'));}if(_[_0x4ea6('0x2d')](_0x3058e3[_0x4ea6('0x24')][_0x4ea6('0x24')])||_0x3058e3[_0x4ea6('0x24')]['body']===''){throw new db[(_0x4ea6('0x2f'))][(_0x4ea6('0x30'))](_0x4ea6('0x32'));}if(_[_0x4ea6('0x2d')](_0x3058e3[_0x4ea6('0x24')][_0x4ea6('0x33')])){throw new db[(_0x4ea6('0x2f'))][(_0x4ea6('0x30'))](_0x4ea6('0x34')+_0x52d448);}if(!_[_0x4ea6('0x35')](_0x52d448,_0x3058e3['body'][_0x4ea6('0x33')])){throw new db['Sequelize'][(_0x4ea6('0x30'))](_0x4ea6('0x36')+_0x52d448);}_0x18968f[_0x3058e3[_0x4ea6('0x24')][_0x4ea6('0x33')]]=_0x3058e3[_0x4ea6('0x24')]['from'];})[_0x4ea6('0xf')](function(){return db[_0x4ea6('0x37')]['find']({'where':{'id':_0x3058e3[_0x4ea6('0x38')]['id']},'include':[{'model':db[_0x4ea6('0x39')],'as':_0x4ea6('0x3a'),'include':[{'model':db[_0x4ea6('0x3b')],'as':_0x4ea6('0x3c'),'where':_0x18968f,'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0x4ea6('0x3d')],'as':_0x4ea6('0x3e')}]});})[_0x4ea6('0xf')](function(_0x2c3c01){if(_0x2c3c01&&_0x2c3c01['List']){var _0x4157c8=_0x2c3c01['get']({'plain':!![]});_0x21a290[_0x4ea6('0x38')]=_0x4157c8;_0x21a290[_0x4ea6('0x3f')]=_0x4157c8[_0x4ea6('0x3e')];_0x21a290['list']=_0x4157c8[_0x4ea6('0x3a')];_0x21a290[_0x4ea6('0x3f')]=_[_0x4ea6('0x40')](_0x21a290[_0x4ea6('0x3f')],[_0x4ea6('0x41')],[_0x4ea6('0x42')]);if(_0x21a290['account'][_0x4ea6('0x3e')]){delete _0x21a290[_0x4ea6('0x38')][_0x4ea6('0x3e')];}if(_0x21a290[_0x4ea6('0x38')]['List']&&_0x21a290[_0x4ea6('0x38')][_0x4ea6('0x3a')][_0x4ea6('0x3c')]['length']){return _0x21a290['account'][_0x4ea6('0x3a')][_0x4ea6('0x3c')][0x0];}var _0x2b966f=_['defaults'](_0x3058e3[_0x4ea6('0x24')],{'firstName':_0x3058e3[_0x4ea6('0x24')][_0x4ea6('0x2e')],'ListId':_0x4157c8['ListId']});_0x2b966f[_0x3058e3[_0x4ea6('0x24')][_0x4ea6('0x33')]]=_0x3058e3[_0x4ea6('0x24')][_0x4ea6('0x2e')];return db['CmContact'][_0x4ea6('0x43')](_0x2b966f,{'fields':_0x4d6129,'raw':!![]});}})[_0x4ea6('0xf')](function(_0x45f594){_0x21a290[_0x4ea6('0x44')]=_0x45f594;if(_0x45f594){var _0x13094c={'ContactId':_0x45f594['id'],'FaxAccountId':_0x3058e3[_0x4ea6('0x38')]['id'],'fax':_0x45f594[_0x4ea6('0x25')]};return db['FaxInteraction'][_0x4ea6('0x45')]({'where':{'ContactId':_0x45f594['id'],'closed':![],'FaxAccountId':_0x3058e3[_0x4ea6('0x38')]['id']}})[_0x4ea6('0xf')](function(_0x40fe7b){if(_0x40fe7b){return[_0x40fe7b,![]];}return db['FaxInteraction'][_0x4ea6('0x43')](_0x13094c)['then'](function(_0x3e21f4){return[_0x3e21f4,!![]];});});}else{throw new Error(_0x4ea6('0x46'));}})[_0x4ea6('0x47')](function(_0x5b8ea1,_0x1f8086){var _0x450092=_0x5b8ea1[_0x4ea6('0x48')]({'plain':!![]});if(_0x1f8086){if(_0x21a290[_0x4ea6('0x38')][_0x4ea6('0x49')]){_0x21a290[_0x4ea6('0x3f')][_0x4ea6('0x4a')]({'id':0x0,'priority':_0x21a290['applications'][_0x4ea6('0x4b')]+0x1,'app':'close','appdata':_0x4ea6('0x4c'),'interval':_0x4ea6('0x4d')});}_0x450092[_0x4ea6('0x4e')]=!![];}else{_0x450092[_0x4ea6('0x4e')]=![];}_0x21a290[_0x4ea6('0x4f')]=_0x450092;return db[_0x4ea6('0x50')][_0x4ea6('0x43')]({'body':_0x3058e3[_0x4ea6('0x24')][_0x4ea6('0x24')],'FaxAccountId':_0x3058e3['account']['id'],'FaxInteractionId':_0x5b8ea1['id'],'direction':'in','ContactId':_0x5b8ea1[_0x4ea6('0x51')],'AttachmentId':_0x3058e3[_0x4ea6('0x24')]['AttachmentId']});})['then'](function(_0x349171){_0x21a290['message']=_0x349171;if(_0x21a290['interaction'][_0x4ea6('0x52')]){return db[_0x4ea6('0x53')][_0x4ea6('0x45')]({'attributes':['id',_0x4ea6('0x54')],'where':{'id':_0x21a290[_0x4ea6('0x4f')][_0x4ea6('0x52')]}})[_0x4ea6('0xf')](function(_0x360c94){if(_0x360c94){_0x21a290[_0x4ea6('0x3f')][_0x4ea6('0x55')]({'id':0x0,'priority':0x0,'app':_0x4ea6('0x56'),'appdata':_0x360c94[_0x4ea6('0x54')]+','+(_0x21a290[_0x4ea6('0x38')]['waitForTheAssignedAgent']||0xa),'interval':_0x4ea6('0x4d')});}return respondWithRpcPromise(_0x4ea6('0x57'),_0x4ea6('0x58'),_0x21a290);});}return respondWithRpcPromise(_0x4ea6('0x57'),_0x4ea6('0x58'),_0x21a290);})[_0x4ea6('0xf')](function(_0x2f9f9f){_0x2273f5(_0x2f9f9f);})['catch'](function(_0x224ba7){_0x3ebca7(_0x2bca16['error'](0x1f4,_0x224ba7[_0x4ea6('0x22')]));});});};