Built motion from commit b5413ace.|2.6.9
[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 _0xbc1e=['create','contact','FaxInteraction','Contact\x20not\x20found','autoclose','push','close','unmanaged','*,*,*,*','interaction','FaxMessage','ContactId','find','name','agent','waitForTheAssignedAgent','Start','startRouting','catch','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','jayson/promise','http','redis','defaults','register','request','then','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','info','result','GetFaxAccount','FaxAccount','findAll','options','where','map','include','model','attributes','NotifyFaxAccount','body','fax','CmContact','describe','Sequelize','ValidationError','difference','keys','createdAt','updatedAt','CompanyId','isNil','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','from','account','List','Contacts','FaxApplication','Applications','get','applications','list','orderBy','asc','length','ListId'];(function(_0x54e15b,_0x234bf3){var _0xb9713f=function(_0x5643fe){while(--_0x5643fe){_0x54e15b['push'](_0x54e15b['shift']());}};_0xb9713f(++_0x234bf3);}(_0xbc1e,0x15f));var _0xebc1=function(_0x480ed1,_0x3b4553){_0x480ed1=_0x480ed1-0x0;var _0x53933a=_0xbc1e[_0x480ed1];return _0x53933a;};'use strict';var _=require(_0xebc1('0x0'));var util=require(_0xebc1('0x1'));var moment=require('moment');var BPromise=require(_0xebc1('0x2'));var rs=require(_0xebc1('0x3'));var fs=require('fs');var Redis=require(_0xebc1('0x4'));var db=require(_0xebc1('0x5'))['db'];var utils=require(_0xebc1('0x6'));var logger=require(_0xebc1('0x7'))('rpc');var config=require('../../config/environment');var jayson=require(_0xebc1('0x8'));var client=jayson['client'][_0xebc1('0x9')]({'port':0x232c});config[_0xebc1('0xa')]=_[_0xebc1('0xb')](config[_0xebc1('0xa')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xebc1('0xa')]));require('./faxAccount.socket')[_0xebc1('0xc')](socket);function respondWithRpcPromise(_0x18b6f5,_0x1a9b49,_0x8d5bc5){return new BPromise(function(_0x30c592,_0x215785){return client[_0xebc1('0xd')](_0x18b6f5,_0x8d5bc5)[_0xebc1('0xe')](function(_0x338007){logger['info'](_0xebc1('0xf'),_0x1a9b49,_0xebc1('0x10'));logger[_0xebc1('0x11')]('FaxAccount,\x20%s,\x20%s,\x20%s',_0x1a9b49,'request\x20sent',JSON[_0xebc1('0x12')](_0x338007));if(_0x338007[_0xebc1('0x13')]){if(_0x338007['error']['code']===0x1f4){logger['error']('FaxAccount,\x20%s,\x20%s',_0x1a9b49,_0x338007[_0xebc1('0x13')][_0xebc1('0x14')]);return _0x215785(_0x338007[_0xebc1('0x13')][_0xebc1('0x14')]);}logger['error']('FaxAccount,\x20%s,\x20%s',_0x1a9b49,_0x338007['error'][_0xebc1('0x14')]);return _0x30c592(_0x338007[_0xebc1('0x13')][_0xebc1('0x14')]);}else{logger[_0xebc1('0x15')](_0xebc1('0xf'),_0x1a9b49,_0xebc1('0x10'));_0x30c592(_0x338007[_0xebc1('0x16')]['message']);}})['catch'](function(_0x42615f){logger[_0xebc1('0x13')](_0xebc1('0xf'),_0x1a9b49,_0x42615f);_0x215785(_0x42615f);});});}exports[_0xebc1('0x17')]=function(_0x2ac04c){var _0xf2cba7=this;return new Promise(function(_0x7eb84c,_0x1b2ff6){return db[_0xebc1('0x18')][_0xebc1('0x19')]({'raw':_0x2ac04c[_0xebc1('0x1a')]?_0x2ac04c[_0xebc1('0x1a')]['raw']===undefined?!![]:![]:!![],'where':_0x2ac04c[_0xebc1('0x1a')]?_0x2ac04c['options'][_0xebc1('0x1b')]||null:null,'attributes':_0x2ac04c[_0xebc1('0x1a')]?_0x2ac04c[_0xebc1('0x1a')]['attributes']||null:null,'limit':_0x2ac04c[_0xebc1('0x1a')]?_0x2ac04c[_0xebc1('0x1a')]['limit']||null:null,'include':_0x2ac04c[_0xebc1('0x1a')]?_0x2ac04c[_0xebc1('0x1a')]['include']?_[_0xebc1('0x1c')](_0x2ac04c[_0xebc1('0x1a')][_0xebc1('0x1d')],function(_0x55af97){return{'model':db[_0x55af97[_0xebc1('0x1e')]],'as':_0x55af97['as'],'attributes':_0x55af97[_0xebc1('0x1f')],'include':_0x55af97[_0xebc1('0x1d')]?_['map'](_0x55af97[_0xebc1('0x1d')],function(_0x1e1bad){return{'model':db[_0x1e1bad[_0xebc1('0x1e')]],'as':_0x1e1bad['as'],'attributes':_0x1e1bad[_0xebc1('0x1f')],'include':_0x1e1bad[_0xebc1('0x1d')]?_[_0xebc1('0x1c')](_0x1e1bad[_0xebc1('0x1d')],function(_0x1174f1){return{'model':db[_0x1174f1[_0xebc1('0x1e')]],'as':_0x1174f1['as'],'attributes':_0x1174f1[_0xebc1('0x1f')]};}):[]};}):[]};}):[]:[]})[_0xebc1('0xe')](function(_0x42dcc1){logger[_0xebc1('0x15')](_0xebc1('0x17'),_0x2ac04c);logger['debug'](_0xebc1('0x17'),_0x2ac04c,JSON['stringify'](_0x42dcc1));_0x7eb84c(_0x42dcc1);})['catch'](function(_0x3bd0a4){logger[_0xebc1('0x13')]('GetFaxAccount',_0x3bd0a4[_0xebc1('0x14')],_0x2ac04c);_0x1b2ff6(_0xf2cba7[_0xebc1('0x13')](0x1f4,_0x3bd0a4[_0xebc1('0x14')]));});});};exports[_0xebc1('0x20')]=function(_0x57284a,_0x30faf3,_0x97b301){var _0x944316=this;return new Promise(function(_0x582d96,_0x58ed8b){var _0x1c96c2={'body':_0x57284a[_0xebc1('0x21')],'channel':_0xebc1('0x22')};var _0x51aa79=[];var _0x28ae97=[];var _0x187833={};return db[_0xebc1('0x23')][_0xebc1('0x24')]()[_0xebc1('0xe')](function(_0x3c1124){if(!_0x3c1124){throw new db[(_0xebc1('0x25'))][(_0xebc1('0x26'))]('no\x20available\x20attributes');}_0x51aa79=_[_0xebc1('0x27')](_[_0xebc1('0x28')](_0x3c1124),[_0xebc1('0x29'),_0xebc1('0x2a')]);_0x28ae97=_[_0xebc1('0x27')](_[_0xebc1('0x28')](_0x3c1124),['createdAt','updatedAt',_0xebc1('0x2b'),'ListId']);if(_0x57284a[_0xebc1('0x21')]['id']){delete _0x57284a['body']['id'];}if(_[_0xebc1('0x2c')](_0x57284a[_0xebc1('0x21')]['from'])){throw new db[(_0xebc1('0x25'))][(_0xebc1('0x26'))](_0xebc1('0x2d'));}if(_[_0xebc1('0x2c')](_0x57284a[_0xebc1('0x21')][_0xebc1('0x21')])||_0x57284a[_0xebc1('0x21')]['body']===''){throw new db[(_0xebc1('0x25'))][(_0xebc1('0x26'))](_0xebc1('0x2e'));}if(_[_0xebc1('0x2c')](_0x57284a[_0xebc1('0x21')][_0xebc1('0x2f')])){throw new db['Sequelize'][(_0xebc1('0x26'))](_0xebc1('0x30')+_0x28ae97);}if(!_[_0xebc1('0x31')](_0x28ae97,_0x57284a[_0xebc1('0x21')]['mapKey'])){throw new db[(_0xebc1('0x25'))][(_0xebc1('0x26'))](_0xebc1('0x32')+_0x28ae97);}_0x187833[_0x57284a[_0xebc1('0x21')][_0xebc1('0x2f')]]=_0x57284a['body'][_0xebc1('0x33')];})['then'](function(){return db[_0xebc1('0x18')]['find']({'where':{'id':_0x57284a[_0xebc1('0x34')]['id']},'include':[{'model':db['CmList'],'as':_0xebc1('0x35'),'include':[{'model':db[_0xebc1('0x23')],'as':_0xebc1('0x36'),'where':_0x187833,'limit':0x1,'order':[[_0xebc1('0x2a'),'DESC']]}]},{'model':db[_0xebc1('0x37')],'as':_0xebc1('0x38')}]});})[_0xebc1('0xe')](function(_0x146bf0){if(_0x146bf0&&_0x146bf0[_0xebc1('0x35')]){var _0x2e403c=_0x146bf0[_0xebc1('0x39')]({'plain':!![]});_0x1c96c2[_0xebc1('0x34')]=_0x2e403c;_0x1c96c2[_0xebc1('0x3a')]=_0x2e403c['Applications'];_0x1c96c2[_0xebc1('0x3b')]=_0x2e403c[_0xebc1('0x35')];_0x1c96c2['applications']=_[_0xebc1('0x3c')](_0x1c96c2[_0xebc1('0x3a')],['priority'],[_0xebc1('0x3d')]);if(_0x1c96c2['account'][_0xebc1('0x38')]){delete _0x1c96c2[_0xebc1('0x34')][_0xebc1('0x38')];}if(_0x1c96c2[_0xebc1('0x34')]['List']&&_0x1c96c2['account'][_0xebc1('0x35')]['Contacts'][_0xebc1('0x3e')]){return _0x1c96c2['account'][_0xebc1('0x35')][_0xebc1('0x36')][0x0];}var _0x2ff2f0=_[_0xebc1('0xb')](_0x57284a[_0xebc1('0x21')],{'firstName':_0x57284a['body'][_0xebc1('0x33')],'ListId':_0x2e403c[_0xebc1('0x3f')]});_0x2ff2f0[_0x57284a['body'][_0xebc1('0x2f')]]=_0x57284a[_0xebc1('0x21')][_0xebc1('0x33')];return db['CmContact'][_0xebc1('0x40')](_0x2ff2f0,{'fields':_0x51aa79,'raw':!![]});}})['then'](function(_0x1a083e){_0x1c96c2[_0xebc1('0x41')]=_0x1a083e;if(_0x1a083e){var _0x2ecace={'ContactId':_0x1a083e['id'],'FaxAccountId':_0x57284a[_0xebc1('0x34')]['id'],'fax':_0x1a083e['fax']};return db[_0xebc1('0x42')]['find']({'where':{'ContactId':_0x1a083e['id'],'closed':![],'FaxAccountId':_0x57284a[_0xebc1('0x34')]['id']}})[_0xebc1('0xe')](function(_0x2cc259){if(_0x2cc259){return[_0x2cc259,![]];}return db[_0xebc1('0x42')]['create'](_0x2ecace)[_0xebc1('0xe')](function(_0x16030a){return[_0x16030a,!![]];});});}else{throw new Error(_0xebc1('0x43'));}})['spread'](function(_0x49aea9,_0x52ffab){var _0x5839b7=_0x49aea9['get']({'plain':!![]});if(_0x52ffab){if(_0x1c96c2[_0xebc1('0x34')][_0xebc1('0x44')]){_0x1c96c2[_0xebc1('0x3a')][_0xebc1('0x45')]({'id':0x0,'priority':_0x1c96c2[_0xebc1('0x3a')][_0xebc1('0x3e')]+0x1,'app':_0xebc1('0x46'),'appdata':_0xebc1('0x47'),'interval':_0xebc1('0x48')});}_0x5839b7['created']=!![];}else{_0x5839b7['created']=![];}_0x1c96c2[_0xebc1('0x49')]=_0x5839b7;return db[_0xebc1('0x4a')][_0xebc1('0x40')]({'body':_0x57284a[_0xebc1('0x21')][_0xebc1('0x21')],'FaxAccountId':_0x57284a[_0xebc1('0x34')]['id'],'FaxInteractionId':_0x49aea9['id'],'direction':'in','ContactId':_0x49aea9[_0xebc1('0x4b')],'AttachmentId':_0x57284a[_0xebc1('0x21')]['AttachmentId']});})[_0xebc1('0xe')](function(_0xee441c){_0x1c96c2['message']=_0xee441c;if(_0x1c96c2[_0xebc1('0x49')]['UserId']){return db['User'][_0xebc1('0x4c')]({'attributes':['id',_0xebc1('0x4d')],'where':{'id':_0x1c96c2[_0xebc1('0x49')]['UserId']}})[_0xebc1('0xe')](function(_0x2a860d){if(_0x2a860d){_0x1c96c2['applications']['unshift']({'id':0x0,'priority':0x0,'app':_0xebc1('0x4e'),'appdata':_0x2a860d[_0xebc1('0x4d')]+','+(_0x1c96c2[_0xebc1('0x34')][_0xebc1('0x4f')]||0xa),'interval':_0xebc1('0x48')});}return respondWithRpcPromise(_0xebc1('0x50'),_0xebc1('0x51'),_0x1c96c2);});}return respondWithRpcPromise('Start',_0xebc1('0x51'),_0x1c96c2);})[_0xebc1('0xe')](function(_0x118180){_0x582d96(_0x118180);})[_0xebc1('0x52')](function(_0xde31ed){_0x58ed8b(_0x944316[_0xebc1('0x13')](0x1f4,_0xde31ed[_0xebc1('0x14')]));});});};