Built motion from commit c738b9ac.|2.6.25
[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 _0x2ca3=['unshift','waitForTheAssignedAgent','queueId','FaxQueue','startRouting','lodash','bluebird','../../config/utils','../../config/logger','rpc','../../config/environment','client','http','redis','socket.io-emitter','./faxAccount.socket','request','then','info','FaxAccount,\x20%s,\x20%s','request\x20sent','debug','FaxAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','GetFaxAccount','findAll','options','raw','where','attributes','include','map','model','NotifyFaxAccount','body','fax','CmContact','describe','ValidationError','no\x20available\x20attributes','updatedAt','difference','keys','CompanyId','ListId','isNil','from','from\x20is\x20mandatory','Sequelize','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','FaxAccount','find','account','CmList','Contacts','DESC','FaxApplication','List','get','applications','Applications','list','orderBy','asc','length','defaults','create','contact','FaxInteraction','Contact\x20not\x20found','spread','push','close','unmanaged','*,*,*,*','interaction','FaxMessage','ContactId','AttachmentId','UserId','name'];(function(_0x3d4e35,_0x83c145){var _0x2c4e89=function(_0x321f72){while(--_0x321f72){_0x3d4e35['push'](_0x3d4e35['shift']());}};_0x2c4e89(++_0x83c145);}(_0x2ca3,0x169));var _0x32ca=function(_0x53b39a,_0x43a89a){_0x53b39a=_0x53b39a-0x0;var _0x29d39f=_0x2ca3[_0x53b39a];return _0x29d39f;};'use strict';var _=require(_0x32ca('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0x32ca('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require('../../mysqldb')['db'];var utils=require(_0x32ca('0x2'));var logger=require(_0x32ca('0x3'))(_0x32ca('0x4'));var config=require(_0x32ca('0x5'));var jayson=require('jayson/promise');var client=jayson[_0x32ca('0x6')][_0x32ca('0x7')]({'port':0x232c});config[_0x32ca('0x8')]=_['defaults'](config[_0x32ca('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0x32ca('0x9'))(new Redis(config[_0x32ca('0x8')]));require(_0x32ca('0xa'))['register'](socket);function respondWithRpcPromise(_0x353502,_0x1d3c76,_0x1ac6f8){return new BPromise(function(_0x9f91f6,_0x2d4898){return client[_0x32ca('0xb')](_0x353502,_0x1ac6f8)[_0x32ca('0xc')](function(_0x18bfaa){logger[_0x32ca('0xd')](_0x32ca('0xe'),_0x1d3c76,_0x32ca('0xf'));logger[_0x32ca('0x10')](_0x32ca('0x11'),_0x1d3c76,_0x32ca('0xf'),JSON[_0x32ca('0x12')](_0x18bfaa));if(_0x18bfaa[_0x32ca('0x13')]){if(_0x18bfaa[_0x32ca('0x13')][_0x32ca('0x14')]===0x1f4){logger[_0x32ca('0x13')](_0x32ca('0xe'),_0x1d3c76,_0x18bfaa['error'][_0x32ca('0x15')]);return _0x2d4898(_0x18bfaa[_0x32ca('0x13')][_0x32ca('0x15')]);}logger[_0x32ca('0x13')](_0x32ca('0xe'),_0x1d3c76,_0x18bfaa['error'][_0x32ca('0x15')]);return _0x9f91f6(_0x18bfaa[_0x32ca('0x13')][_0x32ca('0x15')]);}else{logger['info'](_0x32ca('0xe'),_0x1d3c76,'request\x20sent');_0x9f91f6(_0x18bfaa[_0x32ca('0x16')][_0x32ca('0x15')]);}})[_0x32ca('0x17')](function(_0x2bca28){logger['error'](_0x32ca('0xe'),_0x1d3c76,_0x2bca28);_0x2d4898(_0x2bca28);});});}exports[_0x32ca('0x18')]=function(_0xf4ad8f){var _0x291901=this;return new Promise(function(_0x16e4a3,_0x3420df){return db['FaxAccount'][_0x32ca('0x19')]({'raw':_0xf4ad8f[_0x32ca('0x1a')]?_0xf4ad8f[_0x32ca('0x1a')][_0x32ca('0x1b')]===undefined?!![]:![]:!![],'where':_0xf4ad8f[_0x32ca('0x1a')]?_0xf4ad8f[_0x32ca('0x1a')][_0x32ca('0x1c')]||null:null,'attributes':_0xf4ad8f[_0x32ca('0x1a')]?_0xf4ad8f[_0x32ca('0x1a')][_0x32ca('0x1d')]||null:null,'limit':_0xf4ad8f[_0x32ca('0x1a')]?_0xf4ad8f[_0x32ca('0x1a')]['limit']||null:null,'include':_0xf4ad8f[_0x32ca('0x1a')]?_0xf4ad8f[_0x32ca('0x1a')][_0x32ca('0x1e')]?_[_0x32ca('0x1f')](_0xf4ad8f[_0x32ca('0x1a')][_0x32ca('0x1e')],function(_0x8c624f){return{'model':db[_0x8c624f[_0x32ca('0x20')]],'as':_0x8c624f['as'],'attributes':_0x8c624f[_0x32ca('0x1d')],'include':_0x8c624f[_0x32ca('0x1e')]?_[_0x32ca('0x1f')](_0x8c624f[_0x32ca('0x1e')],function(_0x95322){return{'model':db[_0x95322[_0x32ca('0x20')]],'as':_0x95322['as'],'attributes':_0x95322[_0x32ca('0x1d')],'include':_0x95322[_0x32ca('0x1e')]?_[_0x32ca('0x1f')](_0x95322[_0x32ca('0x1e')],function(_0x249d09){return{'model':db[_0x249d09['model']],'as':_0x249d09['as'],'attributes':_0x249d09[_0x32ca('0x1d')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x349890){logger[_0x32ca('0xd')](_0x32ca('0x18'),_0xf4ad8f);logger[_0x32ca('0x10')]('GetFaxAccount',_0xf4ad8f,JSON[_0x32ca('0x12')](_0x349890));_0x16e4a3(_0x349890);})[_0x32ca('0x17')](function(_0x413a10){logger[_0x32ca('0x13')](_0x32ca('0x18'),_0x413a10[_0x32ca('0x15')],_0xf4ad8f);_0x3420df(_0x291901[_0x32ca('0x13')](0x1f4,_0x413a10['message']));});});};exports[_0x32ca('0x21')]=function(_0x38707f,_0x4ce9ac,_0x4d3e0c){var _0xe3a554=this;return new Promise(function(_0x53b211,_0xa2d4c3){var _0x42affd={'body':_0x38707f[_0x32ca('0x22')],'channel':_0x32ca('0x23')};var _0x5260c4=[];var _0x3196bf=[];var _0x3d27bf={};return db[_0x32ca('0x24')][_0x32ca('0x25')]()[_0x32ca('0xc')](function(_0x1ef919){if(!_0x1ef919){throw new db['Sequelize'][(_0x32ca('0x26'))](_0x32ca('0x27'));}_0x5260c4=_['difference'](_['keys'](_0x1ef919),['createdAt',_0x32ca('0x28')]);_0x3196bf=_[_0x32ca('0x29')](_[_0x32ca('0x2a')](_0x1ef919),['createdAt',_0x32ca('0x28'),_0x32ca('0x2b'),_0x32ca('0x2c')]);if(_0x38707f[_0x32ca('0x22')]['id']){delete _0x38707f['body']['id'];}if(_[_0x32ca('0x2d')](_0x38707f[_0x32ca('0x22')][_0x32ca('0x2e')])){throw new db['Sequelize'][(_0x32ca('0x26'))](_0x32ca('0x2f'));}if(_[_0x32ca('0x2d')](_0x38707f[_0x32ca('0x22')][_0x32ca('0x22')])||_0x38707f[_0x32ca('0x22')][_0x32ca('0x22')]===''){throw new db[(_0x32ca('0x30'))][(_0x32ca('0x26'))](_0x32ca('0x31'));}if(_[_0x32ca('0x2d')](_0x38707f[_0x32ca('0x22')][_0x32ca('0x32')])){throw new db[(_0x32ca('0x30'))][(_0x32ca('0x26'))](_0x32ca('0x33')+_0x3196bf);}if(!_['includes'](_0x3196bf,_0x38707f['body'][_0x32ca('0x32')])){throw new db[(_0x32ca('0x30'))]['ValidationError'](_0x32ca('0x34')+_0x3196bf);}_0x3d27bf[_0x38707f[_0x32ca('0x22')][_0x32ca('0x32')]]=_0x38707f[_0x32ca('0x22')][_0x32ca('0x2e')];})[_0x32ca('0xc')](function(){return db[_0x32ca('0x35')][_0x32ca('0x36')]({'where':{'id':_0x38707f[_0x32ca('0x37')]['id']},'include':[{'model':db[_0x32ca('0x38')],'as':'List','include':[{'model':db[_0x32ca('0x24')],'as':_0x32ca('0x39'),'where':_0x3d27bf,'limit':0x1,'order':[[_0x32ca('0x28'),_0x32ca('0x3a')]]}]},{'model':db[_0x32ca('0x3b')],'as':'Applications'}]});})[_0x32ca('0xc')](function(_0x5dc3a2){if(_0x5dc3a2&&_0x5dc3a2[_0x32ca('0x3c')]){var _0x163bb1=_0x5dc3a2[_0x32ca('0x3d')]({'plain':!![]});_0x42affd['account']=_0x163bb1;_0x42affd[_0x32ca('0x3e')]=_0x163bb1[_0x32ca('0x3f')];_0x42affd[_0x32ca('0x40')]=_0x163bb1[_0x32ca('0x3c')];_0x42affd[_0x32ca('0x3e')]=_[_0x32ca('0x41')](_0x42affd[_0x32ca('0x3e')],['priority'],[_0x32ca('0x42')]);if(_0x42affd[_0x32ca('0x37')]['Applications']){delete _0x42affd[_0x32ca('0x37')][_0x32ca('0x3f')];}if(_0x42affd[_0x32ca('0x37')][_0x32ca('0x3c')]&&_0x42affd[_0x32ca('0x37')][_0x32ca('0x3c')][_0x32ca('0x39')][_0x32ca('0x43')]){return _0x42affd[_0x32ca('0x37')][_0x32ca('0x3c')]['Contacts'][0x0];}var _0x57511f=_[_0x32ca('0x44')](_0x38707f[_0x32ca('0x22')],{'firstName':_0x38707f[_0x32ca('0x22')][_0x32ca('0x2e')],'ListId':_0x163bb1[_0x32ca('0x2c')]});_0x57511f[_0x38707f['body'][_0x32ca('0x32')]]=_0x38707f[_0x32ca('0x22')]['from'];return db['CmContact'][_0x32ca('0x45')](_0x57511f,{'fields':_0x5260c4,'raw':!![]});}})[_0x32ca('0xc')](function(_0x3ce1cb){_0x42affd[_0x32ca('0x46')]=_0x3ce1cb;if(_0x3ce1cb){var _0x257791={'ContactId':_0x3ce1cb['id'],'FaxAccountId':_0x38707f['account']['id'],'fax':_0x3ce1cb[_0x32ca('0x23')]};return db[_0x32ca('0x47')]['find']({'where':{'ContactId':_0x3ce1cb['id'],'closed':![],'FaxAccountId':_0x38707f['account']['id']}})[_0x32ca('0xc')](function(_0x558966){if(_0x558966){return[_0x558966,![]];}return db[_0x32ca('0x47')][_0x32ca('0x45')](_0x257791)[_0x32ca('0xc')](function(_0x1f751a){return[_0x1f751a,!![]];});});}else{throw new Error(_0x32ca('0x48'));}})[_0x32ca('0x49')](function(_0x5388fb,_0x2f54fa){var _0x5f3b40=_0x5388fb[_0x32ca('0x3d')]({'plain':!![]});if(_0x2f54fa){if(_0x42affd['account']['autoclose']){_0x42affd[_0x32ca('0x3e')][_0x32ca('0x4a')]({'id':0x0,'priority':_0x42affd[_0x32ca('0x3e')][_0x32ca('0x43')]+0x1,'app':_0x32ca('0x4b'),'appdata':_0x32ca('0x4c'),'interval':_0x32ca('0x4d')});}_0x5f3b40['created']=!![];}else{_0x5f3b40['created']=![];}_0x42affd[_0x32ca('0x4e')]=_0x5f3b40;return db[_0x32ca('0x4f')][_0x32ca('0x45')]({'body':_0x38707f[_0x32ca('0x22')]['body'],'FaxAccountId':_0x38707f['account']['id'],'FaxInteractionId':_0x5388fb['id'],'direction':'in','ContactId':_0x5388fb[_0x32ca('0x50')],'AttachmentId':_0x38707f[_0x32ca('0x22')][_0x32ca('0x51')]});})[_0x32ca('0xc')](function(_0x4a070a){_0x42affd[_0x32ca('0x15')]=_0x4a070a;if(!_0x42affd[_0x32ca('0x4e')][_0x32ca('0x52')])return;return db['User'][_0x32ca('0x36')]({'attributes':['id',_0x32ca('0x53')],'where':{'id':_0x42affd['interaction'][_0x32ca('0x52')]}});})['then'](function(_0xea40fc){if(_0xea40fc){_0x42affd[_0x32ca('0x3e')][_0x32ca('0x54')]({'id':0x0,'priority':0x0,'app':'agent','appdata':_0xea40fc['name']+','+(_0x42affd[_0x32ca('0x37')][_0x32ca('0x55')]||0xa),'interval':_0x32ca('0x4d')});}if(!_0x42affd['interaction'][_0x32ca('0x56')])return;return db[_0x32ca('0x57')][_0x32ca('0x36')]({'attributes':['id',_0x32ca('0x53')],'where':{'id':_0x42affd[_0x32ca('0x4e')][_0x32ca('0x56')]}});})[_0x32ca('0xc')](function(_0x84cdb8){if(_0x84cdb8){_0x42affd[_0x32ca('0x3e')]['unshift']({'id':0x0,'priority':0x1,'app':'queue','appdata':_0x84cdb8['name']+','+(_0x42affd[_0x32ca('0x37')]['waitForTheAssignedQueue']||0x12c),'interval':_0x32ca('0x4d')});}return respondWithRpcPromise('Start',_0x32ca('0x58'),_0x42affd);})[_0x32ca('0xc')](function(_0x3f31a2){_0x53b211(_0x3f31a2);})[_0x32ca('0x17')](function(_0x2309b8){_0xa2d4c3(_0xe3a554['error'](0x1f4,_0x2309b8[_0x32ca('0x15')]));});});};