Built motion from commit (unavailable).|2.4.18
[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 _0x21d7=['jayson/promise','client','http','defaults','redis','./faxAccount.socket','register','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','GetFaxAccount','FaxAccount','findAll','raw','options','where','attributes','limit','include','map','model','body','CmContact','describe','Sequelize','ValidationError','no\x20available\x20attributes','difference','keys','createdAt','CompanyId','ListId','isNil','from','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','account','List','updatedAt','DESC','FaxApplication','Applications','get','list','applications','priority','asc','Contacts','create','contact','fax','FaxInteraction','spread','push','length','close','*,*,*,*','created','interaction','FaxMessage','AttachmentId','UserId','User','find','name','startRouting','Start','lodash','util','moment','randomstring','ioredis','../../config/utils','rpc','../../config/environment'];(function(_0x470b3c,_0x44b858){var _0x501b69=function(_0x2ca659){while(--_0x2ca659){_0x470b3c['push'](_0x470b3c['shift']());}};_0x501b69(++_0x44b858);}(_0x21d7,0xf7));var _0x721d=function(_0x573da7,_0x3d425c){_0x573da7=_0x573da7-0x0;var _0x91443c=_0x21d7[_0x573da7];return _0x91443c;};'use strict';var _=require(_0x721d('0x0'));var util=require(_0x721d('0x1'));var moment=require(_0x721d('0x2'));var BPromise=require('bluebird');var rs=require(_0x721d('0x3'));var fs=require('fs');var Redis=require(_0x721d('0x4'));var db=require('../../mysqldb')['db'];var utils=require(_0x721d('0x5'));var logger=require('../../config/logger')(_0x721d('0x6'));var config=require(_0x721d('0x7'));var jayson=require(_0x721d('0x8'));var client=jayson[_0x721d('0x9')][_0x721d('0xa')]({'port':0x232c});config['redis']=_[_0x721d('0xb')](config[_0x721d('0xc')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x721d('0xc')]));require(_0x721d('0xd'))[_0x721d('0xe')](socket);function respondWithRpcPromise(_0x5b00f4,_0x1dc228,_0x2778db){return new BPromise(function(_0x418726,_0x32596c){return client[_0x721d('0xf')](_0x5b00f4,_0x2778db)[_0x721d('0x10')](function(_0x2fa471){logger[_0x721d('0x11')](_0x721d('0x12'),_0x1dc228,_0x721d('0x13'));logger[_0x721d('0x14')](_0x721d('0x15'),_0x1dc228,_0x721d('0x13'),JSON[_0x721d('0x16')](_0x2fa471));if(_0x2fa471[_0x721d('0x17')]){if(_0x2fa471['error'][_0x721d('0x18')]===0x1f4){logger[_0x721d('0x17')](_0x721d('0x12'),_0x1dc228,_0x2fa471[_0x721d('0x17')][_0x721d('0x19')]);return _0x32596c(_0x2fa471['error']['message']);}logger[_0x721d('0x17')](_0x721d('0x12'),_0x1dc228,_0x2fa471[_0x721d('0x17')]['message']);return _0x418726(_0x2fa471[_0x721d('0x17')][_0x721d('0x19')]);}else{logger[_0x721d('0x11')](_0x721d('0x12'),_0x1dc228,'request\x20sent');_0x418726(_0x2fa471['result']['message']);}})[_0x721d('0x1a')](function(_0x257b3c){logger[_0x721d('0x17')](_0x721d('0x12'),_0x1dc228,_0x257b3c);_0x32596c(_0x257b3c);});});}exports[_0x721d('0x1b')]=function(_0x1fa787){var _0xd4ba9a=this;return new Promise(function(_0x29ed71,_0x4c33df){return db[_0x721d('0x1c')][_0x721d('0x1d')]({'raw':_0x1fa787['options']?_0x1fa787['options'][_0x721d('0x1e')]===undefined?!![]:![]:!![],'where':_0x1fa787[_0x721d('0x1f')]?_0x1fa787[_0x721d('0x1f')][_0x721d('0x20')]||null:null,'attributes':_0x1fa787[_0x721d('0x1f')]?_0x1fa787[_0x721d('0x1f')][_0x721d('0x21')]||null:null,'limit':_0x1fa787[_0x721d('0x1f')]?_0x1fa787[_0x721d('0x1f')][_0x721d('0x22')]||null:null,'include':_0x1fa787['options']?_0x1fa787[_0x721d('0x1f')][_0x721d('0x23')]?_[_0x721d('0x24')](_0x1fa787['options'][_0x721d('0x23')],function(_0xaf7c1){return{'model':db[_0xaf7c1[_0x721d('0x25')]],'as':_0xaf7c1['as'],'attributes':_0xaf7c1[_0x721d('0x21')],'include':_0xaf7c1[_0x721d('0x23')]?_[_0x721d('0x24')](_0xaf7c1[_0x721d('0x23')],function(_0x105bd2){return{'model':db[_0x105bd2[_0x721d('0x25')]],'as':_0x105bd2['as'],'attributes':_0x105bd2[_0x721d('0x21')],'include':_0x105bd2[_0x721d('0x23')]?_[_0x721d('0x24')](_0x105bd2[_0x721d('0x23')],function(_0x2d8580){return{'model':db[_0x2d8580['model']],'as':_0x2d8580['as'],'attributes':_0x2d8580[_0x721d('0x21')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x522749){logger[_0x721d('0x11')]('GetFaxAccount',_0x1fa787);logger[_0x721d('0x14')](_0x721d('0x1b'),_0x1fa787,JSON[_0x721d('0x16')](_0x522749));_0x29ed71(_0x522749);})[_0x721d('0x1a')](function(_0x59db88){logger['error'](_0x721d('0x1b'),_0x59db88[_0x721d('0x19')],_0x1fa787);_0x4c33df(_0xd4ba9a[_0x721d('0x17')](0x1f4,_0x59db88[_0x721d('0x19')]));});});};exports['NotifyFaxAccount']=function(_0x464998,_0x2dadc9,_0x1c9944){var _0x44eabd=this;return new Promise(function(_0x195e1a,_0xfc6b65){var _0x2d3207={'body':_0x464998[_0x721d('0x26')],'channel':'fax'};var _0x533fe0=[];var _0x5630f2=[];var _0x56f5b9={};return db[_0x721d('0x27')][_0x721d('0x28')]()['then'](function(_0xcb6997){if(!_0xcb6997){throw new db[(_0x721d('0x29'))][(_0x721d('0x2a'))](_0x721d('0x2b'));}_0x533fe0=_[_0x721d('0x2c')](_[_0x721d('0x2d')](_0xcb6997),[_0x721d('0x2e'),'updatedAt']);_0x5630f2=_[_0x721d('0x2c')](_['keys'](_0xcb6997),[_0x721d('0x2e'),'updatedAt',_0x721d('0x2f'),_0x721d('0x30')]);if(_0x464998[_0x721d('0x26')]['id']){delete _0x464998['body']['id'];}if(_[_0x721d('0x31')](_0x464998[_0x721d('0x26')][_0x721d('0x32')])){throw new db[(_0x721d('0x29'))]['ValidationError']('from\x20is\x20mandatory');}if(_[_0x721d('0x31')](_0x464998['body'][_0x721d('0x26')])||_0x464998[_0x721d('0x26')][_0x721d('0x26')]===''){throw new db[(_0x721d('0x29'))]['ValidationError'](_0x721d('0x33'));}if(_[_0x721d('0x31')](_0x464998['body'][_0x721d('0x34')])){throw new db['Sequelize'][(_0x721d('0x2a'))](_0x721d('0x35')+_0x5630f2);}if(!_['includes'](_0x5630f2,_0x464998[_0x721d('0x26')][_0x721d('0x34')])){throw new db[(_0x721d('0x29'))]['ValidationError']('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x5630f2);}_0x56f5b9[_0x464998[_0x721d('0x26')][_0x721d('0x34')]]=_0x464998['body'][_0x721d('0x32')];})['then'](function(){return db[_0x721d('0x1c')]['find']({'where':{'id':_0x464998[_0x721d('0x36')]['id']},'include':[{'model':db['CmList'],'as':_0x721d('0x37'),'include':[{'model':db[_0x721d('0x27')],'as':'Contacts','where':_0x56f5b9,'limit':0x1,'order':[[_0x721d('0x38'),_0x721d('0x39')]]}]},{'model':db[_0x721d('0x3a')],'as':_0x721d('0x3b')}]});})[_0x721d('0x10')](function(_0x3c134a){if(_0x3c134a&&_0x3c134a[_0x721d('0x37')]){var _0xebc79e=_0x3c134a[_0x721d('0x3c')]({'plain':!![]});_0x2d3207[_0x721d('0x36')]=_0xebc79e;_0x2d3207['applications']=_0xebc79e[_0x721d('0x3b')];_0x2d3207[_0x721d('0x3d')]=_0xebc79e[_0x721d('0x37')];_0x2d3207[_0x721d('0x3e')]=_['orderBy'](_0x2d3207[_0x721d('0x3e')],[_0x721d('0x3f')],[_0x721d('0x40')]);if(_0x2d3207[_0x721d('0x36')][_0x721d('0x3b')]){delete _0x2d3207[_0x721d('0x36')]['Applications'];}if(_0x2d3207[_0x721d('0x36')][_0x721d('0x37')]&&_0x2d3207[_0x721d('0x36')][_0x721d('0x37')][_0x721d('0x41')]['length']){return _0x2d3207[_0x721d('0x36')][_0x721d('0x37')]['Contacts'][0x0];}var _0x1142fc=_['defaults'](_0x464998[_0x721d('0x26')],{'firstName':_0x464998[_0x721d('0x26')]['from'],'ListId':_0xebc79e[_0x721d('0x30')]});_0x1142fc[_0x464998[_0x721d('0x26')][_0x721d('0x34')]]=_0x464998['body'][_0x721d('0x32')];return db[_0x721d('0x27')][_0x721d('0x42')](_0x1142fc,{'fields':_0x533fe0,'raw':!![]});}})[_0x721d('0x10')](function(_0x13ba4e){_0x2d3207[_0x721d('0x43')]=_0x13ba4e;if(_0x13ba4e){var _0x596590={'ContactId':_0x13ba4e['id'],'FaxAccountId':_0x464998[_0x721d('0x36')]['id'],'fax':_0x13ba4e[_0x721d('0x44')]};return db[_0x721d('0x45')]['find']({'where':{'ContactId':_0x13ba4e['id'],'closed':![],'FaxAccountId':_0x464998[_0x721d('0x36')]['id']}})[_0x721d('0x10')](function(_0x1505ce){if(_0x1505ce){return[_0x1505ce,![]];}return db[_0x721d('0x45')][_0x721d('0x42')](_0x596590)[_0x721d('0x10')](function(_0x2ce408){return[_0x2ce408,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0x721d('0x46')](function(_0xf13f58,_0x2f790a){var _0x36c0ea=_0xf13f58[_0x721d('0x3c')]({'plain':!![]});if(_0x2f790a){if(_0x2d3207['account']['autoclose']){_0x2d3207[_0x721d('0x3e')][_0x721d('0x47')]({'id':0x0,'priority':_0x2d3207[_0x721d('0x3e')][_0x721d('0x48')]+0x1,'app':_0x721d('0x49'),'appdata':'unmanaged','interval':_0x721d('0x4a')});}_0x36c0ea[_0x721d('0x4b')]=!![];}else{_0x36c0ea['created']=![];}_0x2d3207[_0x721d('0x4c')]=_0x36c0ea;return db[_0x721d('0x4d')][_0x721d('0x42')]({'body':_0x464998[_0x721d('0x26')][_0x721d('0x26')],'FaxAccountId':_0x464998[_0x721d('0x36')]['id'],'FaxInteractionId':_0xf13f58['id'],'direction':'in','ContactId':_0xf13f58['ContactId'],'AttachmentId':_0x464998[_0x721d('0x26')][_0x721d('0x4e')]});})['then'](function(_0x2f3074){_0x2d3207['message']=_0x2f3074;if(_0x2d3207['interaction'][_0x721d('0x4f')]){return db[_0x721d('0x50')][_0x721d('0x51')]({'attributes':['id','name'],'where':{'id':_0x2d3207[_0x721d('0x4c')][_0x721d('0x4f')]}})[_0x721d('0x10')](function(_0x315b9d){if(_0x315b9d){_0x2d3207[_0x721d('0x3e')]['unshift']({'id':0x0,'priority':0x0,'app':'agent','appdata':_0x315b9d[_0x721d('0x52')]+','+(_0x2d3207[_0x721d('0x36')]['waitForTheAssignedAgent']||0xa),'interval':_0x721d('0x4a')});}return respondWithRpcPromise('Start',_0x721d('0x53'),_0x2d3207);});}return respondWithRpcPromise(_0x721d('0x54'),_0x721d('0x53'),_0x2d3207);})[_0x721d('0x10')](function(_0x4f1a64){_0x195e1a(_0x4f1a64);})[_0x721d('0x1a')](function(_0x1fc260){_0xfc6b65(_0x44eabd['error'](0x1f4,_0x1fc260[_0x721d('0x19')]));});});};