Built motion from commit (unavailable).|2.5.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 _0x1b42=['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','find','account','CmList','List','DESC','get','applications','Applications','list','priority','asc','length','Contacts','defaults','create','contact','fax','FaxInteraction','Contact\x20not\x20found','autoclose','push','unmanaged','*,*,*,*','created','interaction','ContactId','AttachmentId','UserId','User','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','socket.io-emitter','register','request','debug','request\x20sent','stringify','error','code','FaxAccount,\x20%s,\x20%s','message','result','catch','findAll','options','raw','where','limit','include','map','model','attributes','info','GetFaxAccount','NotifyFaxAccount','body','CmContact','then','Sequelize','no\x20available\x20attributes','difference','keys','createdAt','updatedAt','ListId','isNil','from'];(function(_0xc0a3d3,_0x2c8d00){var _0x3386e8=function(_0x3f9df4){while(--_0x3f9df4){_0xc0a3d3['push'](_0xc0a3d3['shift']());}};_0x3386e8(++_0x2c8d00);}(_0x1b42,0xe5));var _0x21b4=function(_0xf892c8,_0x29cd95){_0xf892c8=_0xf892c8-0x0;var _0x4b7e62=_0x1b42[_0xf892c8];return _0x4b7e62;};'use strict';var _=require(_0x21b4('0x0'));var util=require(_0x21b4('0x1'));var moment=require(_0x21b4('0x2'));var BPromise=require(_0x21b4('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x21b4('0x4'));var db=require(_0x21b4('0x5'))['db'];var utils=require(_0x21b4('0x6'));var logger=require(_0x21b4('0x7'))(_0x21b4('0x8'));var config=require(_0x21b4('0x9'));var jayson=require(_0x21b4('0xa'));var client=jayson[_0x21b4('0xb')][_0x21b4('0xc')]({'port':0x232c});config[_0x21b4('0xd')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x21b4('0xe'))(new Redis(config[_0x21b4('0xd')]));require('./faxAccount.socket')[_0x21b4('0xf')](socket);function respondWithRpcPromise(_0x1f7fad,_0x225346,_0x1c9005){return new BPromise(function(_0x46df05,_0x30b3d0){return client[_0x21b4('0x10')](_0x1f7fad,_0x1c9005)['then'](function(_0x42253b){logger['info']('FaxAccount,\x20%s,\x20%s',_0x225346,'request\x20sent');logger[_0x21b4('0x11')]('FaxAccount,\x20%s,\x20%s,\x20%s',_0x225346,_0x21b4('0x12'),JSON[_0x21b4('0x13')](_0x42253b));if(_0x42253b[_0x21b4('0x14')]){if(_0x42253b[_0x21b4('0x14')][_0x21b4('0x15')]===0x1f4){logger['error'](_0x21b4('0x16'),_0x225346,_0x42253b['error'][_0x21b4('0x17')]);return _0x30b3d0(_0x42253b[_0x21b4('0x14')][_0x21b4('0x17')]);}logger['error'](_0x21b4('0x16'),_0x225346,_0x42253b['error'][_0x21b4('0x17')]);return _0x46df05(_0x42253b[_0x21b4('0x14')][_0x21b4('0x17')]);}else{logger['info'](_0x21b4('0x16'),_0x225346,_0x21b4('0x12'));_0x46df05(_0x42253b[_0x21b4('0x18')][_0x21b4('0x17')]);}})[_0x21b4('0x19')](function(_0x7335c){logger[_0x21b4('0x14')]('FaxAccount,\x20%s,\x20%s',_0x225346,_0x7335c);_0x30b3d0(_0x7335c);});});}exports['GetFaxAccount']=function(_0x15a264){var _0x7e262b=this;return new Promise(function(_0x1ed8fa,_0x9993be){return db['FaxAccount'][_0x21b4('0x1a')]({'raw':_0x15a264[_0x21b4('0x1b')]?_0x15a264[_0x21b4('0x1b')][_0x21b4('0x1c')]===undefined?!![]:![]:!![],'where':_0x15a264[_0x21b4('0x1b')]?_0x15a264[_0x21b4('0x1b')][_0x21b4('0x1d')]||null:null,'attributes':_0x15a264[_0x21b4('0x1b')]?_0x15a264[_0x21b4('0x1b')]['attributes']||null:null,'limit':_0x15a264[_0x21b4('0x1b')]?_0x15a264[_0x21b4('0x1b')][_0x21b4('0x1e')]||null:null,'include':_0x15a264[_0x21b4('0x1b')]?_0x15a264[_0x21b4('0x1b')][_0x21b4('0x1f')]?_[_0x21b4('0x20')](_0x15a264[_0x21b4('0x1b')][_0x21b4('0x1f')],function(_0x26101e){return{'model':db[_0x26101e[_0x21b4('0x21')]],'as':_0x26101e['as'],'attributes':_0x26101e['attributes'],'include':_0x26101e[_0x21b4('0x1f')]?_[_0x21b4('0x20')](_0x26101e[_0x21b4('0x1f')],function(_0x5710b7){return{'model':db[_0x5710b7['model']],'as':_0x5710b7['as'],'attributes':_0x5710b7[_0x21b4('0x22')],'include':_0x5710b7[_0x21b4('0x1f')]?_['map'](_0x5710b7[_0x21b4('0x1f')],function(_0x52015c){return{'model':db[_0x52015c['model']],'as':_0x52015c['as'],'attributes':_0x52015c['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x467f9f){logger[_0x21b4('0x23')](_0x21b4('0x24'),_0x15a264);logger[_0x21b4('0x11')](_0x21b4('0x24'),_0x15a264,JSON[_0x21b4('0x13')](_0x467f9f));_0x1ed8fa(_0x467f9f);})['catch'](function(_0x54a5bc){logger[_0x21b4('0x14')](_0x21b4('0x24'),_0x54a5bc[_0x21b4('0x17')],_0x15a264);_0x9993be(_0x7e262b[_0x21b4('0x14')](0x1f4,_0x54a5bc['message']));});});};exports[_0x21b4('0x25')]=function(_0x1efcb4,_0x9b3bd4,_0x2f78b4){var _0x2f8950=this;return new Promise(function(_0x80a7ec,_0x39a15f){var _0x11be06={'body':_0x1efcb4[_0x21b4('0x26')],'channel':'fax'};var _0x2aed4c=[];var _0x1e8269=[];var _0x4aba32={};return db[_0x21b4('0x27')]['describe']()[_0x21b4('0x28')](function(_0x364806){if(!_0x364806){throw new db[(_0x21b4('0x29'))]['ValidationError'](_0x21b4('0x2a'));}_0x2aed4c=_[_0x21b4('0x2b')](_[_0x21b4('0x2c')](_0x364806),[_0x21b4('0x2d'),_0x21b4('0x2e')]);_0x1e8269=_[_0x21b4('0x2b')](_[_0x21b4('0x2c')](_0x364806),[_0x21b4('0x2d'),'updatedAt','CompanyId',_0x21b4('0x2f')]);if(_0x1efcb4[_0x21b4('0x26')]['id']){delete _0x1efcb4[_0x21b4('0x26')]['id'];}if(_[_0x21b4('0x30')](_0x1efcb4['body'][_0x21b4('0x31')])){throw new db[(_0x21b4('0x29'))][(_0x21b4('0x32'))](_0x21b4('0x33'));}if(_[_0x21b4('0x30')](_0x1efcb4[_0x21b4('0x26')]['body'])||_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x26')]===''){throw new db['Sequelize'][(_0x21b4('0x32'))](_0x21b4('0x34'));}if(_['isNil'](_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x35')])){throw new db['Sequelize']['ValidationError'](_0x21b4('0x36')+_0x1e8269);}if(!_[_0x21b4('0x37')](_0x1e8269,_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x35')])){throw new db['Sequelize'][(_0x21b4('0x32'))](_0x21b4('0x38')+_0x1e8269);}_0x4aba32[_0x1efcb4[_0x21b4('0x26')]['mapKey']]=_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x31')];})[_0x21b4('0x28')](function(){return db[_0x21b4('0x39')][_0x21b4('0x3a')]({'where':{'id':_0x1efcb4[_0x21b4('0x3b')]['id']},'include':[{'model':db[_0x21b4('0x3c')],'as':_0x21b4('0x3d'),'include':[{'model':db['CmContact'],'as':'Contacts','where':_0x4aba32,'limit':0x1,'order':[['updatedAt',_0x21b4('0x3e')]]}]},{'model':db['FaxApplication'],'as':'Applications'}]});})[_0x21b4('0x28')](function(_0x14f66d){if(_0x14f66d&&_0x14f66d[_0x21b4('0x3d')]){var _0x1f756f=_0x14f66d[_0x21b4('0x3f')]({'plain':!![]});_0x11be06[_0x21b4('0x3b')]=_0x1f756f;_0x11be06[_0x21b4('0x40')]=_0x1f756f[_0x21b4('0x41')];_0x11be06[_0x21b4('0x42')]=_0x1f756f['List'];_0x11be06[_0x21b4('0x40')]=_['orderBy'](_0x11be06[_0x21b4('0x40')],[_0x21b4('0x43')],[_0x21b4('0x44')]);if(_0x11be06[_0x21b4('0x3b')]['Applications']){delete _0x11be06[_0x21b4('0x3b')][_0x21b4('0x41')];}if(_0x11be06[_0x21b4('0x3b')][_0x21b4('0x3d')]&&_0x11be06[_0x21b4('0x3b')][_0x21b4('0x3d')]['Contacts'][_0x21b4('0x45')]){return _0x11be06[_0x21b4('0x3b')][_0x21b4('0x3d')][_0x21b4('0x46')][0x0];}var _0x5e13e6=_[_0x21b4('0x47')](_0x1efcb4[_0x21b4('0x26')],{'firstName':_0x1efcb4['body'][_0x21b4('0x31')],'ListId':_0x1f756f['ListId']});_0x5e13e6[_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x35')]]=_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x31')];return db[_0x21b4('0x27')][_0x21b4('0x48')](_0x5e13e6,{'fields':_0x2aed4c,'raw':!![]});}})[_0x21b4('0x28')](function(_0x57dba7){_0x11be06[_0x21b4('0x49')]=_0x57dba7;if(_0x57dba7){var _0x47c768={'ContactId':_0x57dba7['id'],'FaxAccountId':_0x1efcb4[_0x21b4('0x3b')]['id'],'fax':_0x57dba7[_0x21b4('0x4a')]};return db[_0x21b4('0x4b')]['find']({'where':{'ContactId':_0x57dba7['id'],'closed':![],'FaxAccountId':_0x1efcb4[_0x21b4('0x3b')]['id']}})[_0x21b4('0x28')](function(_0x46a735){if(_0x46a735){return[_0x46a735,![]];}return db[_0x21b4('0x4b')][_0x21b4('0x48')](_0x47c768)['then'](function(_0xef2914){return[_0xef2914,!![]];});});}else{throw new Error(_0x21b4('0x4c'));}})['spread'](function(_0x5761d4,_0x1c129a){var _0xa855a3=_0x5761d4[_0x21b4('0x3f')]({'plain':!![]});if(_0x1c129a){if(_0x11be06[_0x21b4('0x3b')][_0x21b4('0x4d')]){_0x11be06[_0x21b4('0x40')][_0x21b4('0x4e')]({'id':0x0,'priority':_0x11be06[_0x21b4('0x40')][_0x21b4('0x45')]+0x1,'app':'close','appdata':_0x21b4('0x4f'),'interval':_0x21b4('0x50')});}_0xa855a3[_0x21b4('0x51')]=!![];}else{_0xa855a3[_0x21b4('0x51')]=![];}_0x11be06[_0x21b4('0x52')]=_0xa855a3;return db['FaxMessage']['create']({'body':_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x26')],'FaxAccountId':_0x1efcb4['account']['id'],'FaxInteractionId':_0x5761d4['id'],'direction':'in','ContactId':_0x5761d4[_0x21b4('0x53')],'AttachmentId':_0x1efcb4[_0x21b4('0x26')][_0x21b4('0x54')]});})[_0x21b4('0x28')](function(_0x111105){_0x11be06['message']=_0x111105;if(_0x11be06[_0x21b4('0x52')][_0x21b4('0x55')]){return db[_0x21b4('0x56')][_0x21b4('0x3a')]({'attributes':['id',_0x21b4('0x57')],'where':{'id':_0x11be06[_0x21b4('0x52')][_0x21b4('0x55')]}})[_0x21b4('0x28')](function(_0x1c681b){if(_0x1c681b){_0x11be06[_0x21b4('0x40')][_0x21b4('0x58')]({'id':0x0,'priority':0x0,'app':_0x21b4('0x59'),'appdata':_0x1c681b[_0x21b4('0x57')]+','+(_0x11be06['account'][_0x21b4('0x5a')]||0xa),'interval':_0x21b4('0x50')});}return respondWithRpcPromise(_0x21b4('0x5b'),_0x21b4('0x5c'),_0x11be06);});}return respondWithRpcPromise(_0x21b4('0x5b'),_0x21b4('0x5c'),_0x11be06);})['then'](function(_0x1b744a){_0x80a7ec(_0x1b744a);})['catch'](function(_0x1c9d70){_0x39a15f(_0x2f8950[_0x21b4('0x14')](0x1f4,_0x1c9d70[_0x21b4('0x17')]));});});};