Built motion from commit fd055180.|2.6.30
[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 _0xe94b=['spread','autoclose','push','length','close','unmanaged','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','User','name','unshift','agent','*,*,*,*','queueId','FaxQueue','queue','waitForTheAssignedQueue','startRouting','lodash','util','moment','ioredis','../../mysqldb','../../config/utils','../../config/logger','client','http','redis','defaults','localhost','socket.io-emitter','request','then','info','FaxAccount,\x20%s,\x20%s','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','GetFaxAccount','FaxAccount','findAll','raw','options','where','attributes','limit','include','map','model','catch','NotifyFaxAccount','body','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','CompanyId','ListId','isNil','from','ValidationError','from\x20is\x20mandatory','Sequelize','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','find','account','CmList','List','DESC','FaxApplication','Applications','get','applications','list','orderBy','asc','Contacts','CmContact','create','FaxInteraction','Contact\x20not\x20found'];(function(_0x183bc5,_0x53b410){var _0x3fa5c9=function(_0x1b1c2b){while(--_0x1b1c2b){_0x183bc5['push'](_0x183bc5['shift']());}};_0x3fa5c9(++_0x53b410);}(_0xe94b,0x127));var _0xbe94=function(_0x431c8e,_0x129e49){_0x431c8e=_0x431c8e-0x0;var _0x33c2a2=_0xe94b[_0x431c8e];return _0x33c2a2;};'use strict';var _=require(_0xbe94('0x0'));var util=require(_0xbe94('0x1'));var moment=require(_0xbe94('0x2'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xbe94('0x3'));var db=require(_0xbe94('0x4'))['db'];var utils=require(_0xbe94('0x5'));var logger=require(_0xbe94('0x6'))('rpc');var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson[_0xbe94('0x7')][_0xbe94('0x8')]({'port':0x232c});config[_0xbe94('0x9')]=_[_0xbe94('0xa')](config[_0xbe94('0x9')],{'host':_0xbe94('0xb'),'port':0x18eb});var socket=require(_0xbe94('0xc'))(new Redis(config[_0xbe94('0x9')]));require('./faxAccount.socket')['register'](socket);function respondWithRpcPromise(_0x324ba5,_0x526fc3,_0x119c21){return new BPromise(function(_0x2dc572,_0x4da3f4){return client[_0xbe94('0xd')](_0x324ba5,_0x119c21)[_0xbe94('0xe')](function(_0xc739dd){logger[_0xbe94('0xf')](_0xbe94('0x10'),_0x526fc3,'request\x20sent');logger[_0xbe94('0x11')](_0xbe94('0x12'),_0x526fc3,'request\x20sent',JSON[_0xbe94('0x13')](_0xc739dd));if(_0xc739dd[_0xbe94('0x14')]){if(_0xc739dd['error'][_0xbe94('0x15')]===0x1f4){logger['error'](_0xbe94('0x10'),_0x526fc3,_0xc739dd[_0xbe94('0x14')]['message']);return _0x4da3f4(_0xc739dd['error'][_0xbe94('0x16')]);}logger['error'](_0xbe94('0x10'),_0x526fc3,_0xc739dd[_0xbe94('0x14')][_0xbe94('0x16')]);return _0x2dc572(_0xc739dd[_0xbe94('0x14')]['message']);}else{logger[_0xbe94('0xf')](_0xbe94('0x10'),_0x526fc3,_0xbe94('0x17'));_0x2dc572(_0xc739dd['result'][_0xbe94('0x16')]);}})['catch'](function(_0x2922fb){logger['error']('FaxAccount,\x20%s,\x20%s',_0x526fc3,_0x2922fb);_0x4da3f4(_0x2922fb);});});}exports[_0xbe94('0x18')]=function(_0xfa0438){var _0x40ee8e=this;return new Promise(function(_0x48d3af,_0x44206b){return db[_0xbe94('0x19')][_0xbe94('0x1a')]({'raw':_0xfa0438['options']?_0xfa0438['options'][_0xbe94('0x1b')]===undefined?!![]:![]:!![],'where':_0xfa0438[_0xbe94('0x1c')]?_0xfa0438[_0xbe94('0x1c')][_0xbe94('0x1d')]||null:null,'attributes':_0xfa0438[_0xbe94('0x1c')]?_0xfa0438[_0xbe94('0x1c')][_0xbe94('0x1e')]||null:null,'limit':_0xfa0438[_0xbe94('0x1c')]?_0xfa0438[_0xbe94('0x1c')][_0xbe94('0x1f')]||null:null,'include':_0xfa0438[_0xbe94('0x1c')]?_0xfa0438['options'][_0xbe94('0x20')]?_[_0xbe94('0x21')](_0xfa0438[_0xbe94('0x1c')][_0xbe94('0x20')],function(_0x273ff9){return{'model':db[_0x273ff9[_0xbe94('0x22')]],'as':_0x273ff9['as'],'attributes':_0x273ff9['attributes'],'include':_0x273ff9[_0xbe94('0x20')]?_[_0xbe94('0x21')](_0x273ff9[_0xbe94('0x20')],function(_0x4544b5){return{'model':db[_0x4544b5['model']],'as':_0x4544b5['as'],'attributes':_0x4544b5[_0xbe94('0x1e')],'include':_0x4544b5['include']?_[_0xbe94('0x21')](_0x4544b5[_0xbe94('0x20')],function(_0x2de05b){return{'model':db[_0x2de05b[_0xbe94('0x22')]],'as':_0x2de05b['as'],'attributes':_0x2de05b[_0xbe94('0x1e')]};}):[]};}):[]};}):[]:[]})[_0xbe94('0xe')](function(_0x330082){logger['info'](_0xbe94('0x18'),_0xfa0438);logger[_0xbe94('0x11')]('GetFaxAccount',_0xfa0438,JSON[_0xbe94('0x13')](_0x330082));_0x48d3af(_0x330082);})[_0xbe94('0x23')](function(_0x2e5da6){logger['error'](_0xbe94('0x18'),_0x2e5da6[_0xbe94('0x16')],_0xfa0438);_0x44206b(_0x40ee8e[_0xbe94('0x14')](0x1f4,_0x2e5da6[_0xbe94('0x16')]));});});};exports[_0xbe94('0x24')]=function(_0x1b306c,_0x1d76f2,_0x13c52a){var _0x459bc0=this;return new Promise(function(_0x2668d8,_0x3a0ba8){var _0x160390={'body':_0x1b306c[_0xbe94('0x25')],'channel':'fax'};var _0x4e6f45=[];var _0x370f4a=[];var _0x464277={};return db['CmContact']['describe']()[_0xbe94('0xe')](function(_0x335f8a){if(!_0x335f8a){throw new db['Sequelize']['ValidationError'](_0xbe94('0x26'));}_0x4e6f45=_[_0xbe94('0x27')](_[_0xbe94('0x28')](_0x335f8a),[_0xbe94('0x29'),_0xbe94('0x2a')]);_0x370f4a=_[_0xbe94('0x27')](_[_0xbe94('0x28')](_0x335f8a),[_0xbe94('0x29'),_0xbe94('0x2a'),_0xbe94('0x2b'),_0xbe94('0x2c')]);if(_0x1b306c[_0xbe94('0x25')]['id']){delete _0x1b306c['body']['id'];}if(_[_0xbe94('0x2d')](_0x1b306c[_0xbe94('0x25')][_0xbe94('0x2e')])){throw new db['Sequelize'][(_0xbe94('0x2f'))](_0xbe94('0x30'));}if(_[_0xbe94('0x2d')](_0x1b306c[_0xbe94('0x25')]['body'])||_0x1b306c['body'][_0xbe94('0x25')]===''){throw new db[(_0xbe94('0x31'))][(_0xbe94('0x2f'))](_0xbe94('0x32'));}if(_[_0xbe94('0x2d')](_0x1b306c[_0xbe94('0x25')][_0xbe94('0x33')])){throw new db['Sequelize'][(_0xbe94('0x2f'))]('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x370f4a);}if(!_['includes'](_0x370f4a,_0x1b306c[_0xbe94('0x25')]['mapKey'])){throw new db[(_0xbe94('0x31'))][(_0xbe94('0x2f'))]('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x370f4a);}_0x464277[_0x1b306c[_0xbe94('0x25')]['mapKey']]=_0x1b306c[_0xbe94('0x25')][_0xbe94('0x2e')];})['then'](function(){return db[_0xbe94('0x19')][_0xbe94('0x34')]({'where':{'id':_0x1b306c[_0xbe94('0x35')]['id']},'include':[{'model':db[_0xbe94('0x36')],'as':_0xbe94('0x37'),'include':[{'model':db['CmContact'],'as':'Contacts','where':_0x464277,'limit':0x1,'order':[[_0xbe94('0x2a'),_0xbe94('0x38')]]}]},{'model':db[_0xbe94('0x39')],'as':_0xbe94('0x3a')}]});})[_0xbe94('0xe')](function(_0x4cb28a){if(_0x4cb28a&&_0x4cb28a[_0xbe94('0x37')]){var _0x4aee52=_0x4cb28a[_0xbe94('0x3b')]({'plain':!![]});_0x160390[_0xbe94('0x35')]=_0x4aee52;_0x160390[_0xbe94('0x3c')]=_0x4aee52[_0xbe94('0x3a')];_0x160390[_0xbe94('0x3d')]=_0x4aee52[_0xbe94('0x37')];_0x160390['applications']=_[_0xbe94('0x3e')](_0x160390[_0xbe94('0x3c')],['priority'],[_0xbe94('0x3f')]);if(_0x160390[_0xbe94('0x35')][_0xbe94('0x3a')]){delete _0x160390['account'][_0xbe94('0x3a')];}if(_0x160390[_0xbe94('0x35')][_0xbe94('0x37')]&&_0x160390[_0xbe94('0x35')]['List'][_0xbe94('0x40')]['length']){return _0x160390[_0xbe94('0x35')]['List']['Contacts'][0x0];}var _0x57bf34=_[_0xbe94('0xa')](_0x1b306c[_0xbe94('0x25')],{'firstName':_0x1b306c['body'][_0xbe94('0x2e')],'ListId':_0x4aee52['ListId']});_0x57bf34[_0x1b306c[_0xbe94('0x25')]['mapKey']]=_0x1b306c[_0xbe94('0x25')][_0xbe94('0x2e')];return db[_0xbe94('0x41')][_0xbe94('0x42')](_0x57bf34,{'fields':_0x4e6f45,'raw':!![]});}})[_0xbe94('0xe')](function(_0x359bd3){_0x160390['contact']=_0x359bd3;if(_0x359bd3){var _0x373160={'ContactId':_0x359bd3['id'],'FaxAccountId':_0x1b306c[_0xbe94('0x35')]['id'],'fax':_0x359bd3['fax']};return db[_0xbe94('0x43')][_0xbe94('0x34')]({'where':{'ContactId':_0x359bd3['id'],'closed':![],'FaxAccountId':_0x1b306c[_0xbe94('0x35')]['id']}})[_0xbe94('0xe')](function(_0x5850f2){if(_0x5850f2){return[_0x5850f2,![]];}return db[_0xbe94('0x43')][_0xbe94('0x42')](_0x373160)[_0xbe94('0xe')](function(_0x183f2e){return[_0x183f2e,!![]];});});}else{throw new Error(_0xbe94('0x44'));}})[_0xbe94('0x45')](function(_0x3d175d,_0x5a3861){var _0x314e4e=_0x3d175d[_0xbe94('0x3b')]({'plain':!![]});if(_0x5a3861){if(_0x160390[_0xbe94('0x35')][_0xbe94('0x46')]){_0x160390[_0xbe94('0x3c')][_0xbe94('0x47')]({'id':0x0,'priority':_0x160390[_0xbe94('0x3c')][_0xbe94('0x48')]+0x1,'app':_0xbe94('0x49'),'appdata':_0xbe94('0x4a'),'interval':'*,*,*,*'});}_0x314e4e[_0xbe94('0x4b')]=!![];}else{_0x314e4e[_0xbe94('0x4b')]=![];}_0x160390[_0xbe94('0x4c')]=_0x314e4e;return db[_0xbe94('0x4d')][_0xbe94('0x42')]({'body':_0x1b306c[_0xbe94('0x25')][_0xbe94('0x25')],'FaxAccountId':_0x1b306c[_0xbe94('0x35')]['id'],'FaxInteractionId':_0x3d175d['id'],'direction':'in','ContactId':_0x3d175d[_0xbe94('0x4e')],'AttachmentId':_0x1b306c[_0xbe94('0x25')][_0xbe94('0x4f')]});})['then'](function(_0x52870c){_0x160390[_0xbe94('0x16')]=_0x52870c;if(!_0x160390['interaction'][_0xbe94('0x50')])return;return db[_0xbe94('0x51')][_0xbe94('0x34')]({'attributes':['id',_0xbe94('0x52')],'where':{'id':_0x160390[_0xbe94('0x4c')][_0xbe94('0x50')]}});})[_0xbe94('0xe')](function(_0x33a8e5){if(_0x33a8e5){_0x160390[_0xbe94('0x3c')][_0xbe94('0x53')]({'id':0x0,'priority':0x0,'app':_0xbe94('0x54'),'appdata':_0x33a8e5[_0xbe94('0x52')]+','+(_0x160390[_0xbe94('0x35')]['waitForTheAssignedAgent']||0xa),'interval':_0xbe94('0x55')});}if(!_0x160390[_0xbe94('0x4c')][_0xbe94('0x56')])return;return db[_0xbe94('0x57')][_0xbe94('0x34')]({'attributes':['id',_0xbe94('0x52')],'where':{'id':_0x160390['interaction']['queueId']}});})['then'](function(_0x47cdb6){if(_0x47cdb6){_0x160390['applications']['unshift']({'id':0x0,'priority':0x1,'app':_0xbe94('0x58'),'appdata':_0x47cdb6[_0xbe94('0x52')]+','+(_0x160390['account'][_0xbe94('0x59')]||0x12c),'interval':_0xbe94('0x55')});}return respondWithRpcPromise('Start',_0xbe94('0x5a'),_0x160390);})['then'](function(_0x3f54db){_0x2668d8(_0x3f54db);})[_0xbe94('0x23')](function(_0x328f03){_0x3a0ba8(_0x459bc0[_0xbe94('0x14')](0x1f4,_0x328f03['message']));});});};