Built motion from commit (unavailable).|2.5.0
[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 _0x28a8=['create','fax','FaxInteraction','Contact\x20not\x20found','spread','autoclose','close','*,*,*,*','created','interaction','FaxMessage','ContactId','AttachmentId','UserId','name','agent','waitForTheAssignedAgent','Start','startRouting','util','moment','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','redis','./faxAccount.socket','register','request','info','FaxAccount,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','GetFaxAccount','FaxAccount','options','include','model','attributes','map','then','debug','body','CmContact','describe','ValidationError','difference','keys','createdAt','updatedAt','CompanyId','isNil','from','Sequelize','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','find','CmList','List','Contacts','DESC','FaxApplication','Applications','get','account','applications','list','orderBy','asc','ListId'];(function(_0x591908,_0x703126){var _0x122d56=function(_0x4d3147){while(--_0x4d3147){_0x591908['push'](_0x591908['shift']());}};_0x122d56(++_0x703126);}(_0x28a8,0xb5));var _0x828a=function(_0x534c8f,_0x500079){_0x534c8f=_0x534c8f-0x0;var _0x5a57f5=_0x28a8[_0x534c8f];return _0x5a57f5;};'use strict';var _=require('lodash');var util=require(_0x828a('0x0'));var moment=require(_0x828a('0x1'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0x828a('0x2'))['db'];var utils=require(_0x828a('0x3'));var logger=require(_0x828a('0x4'))(_0x828a('0x5'));var config=require(_0x828a('0x6'));var jayson=require(_0x828a('0x7'));var client=jayson['client']['http']({'port':0x232c});config[_0x828a('0x8')]=_['defaults'](config[_0x828a('0x8')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x828a('0x8')]));require(_0x828a('0x9'))[_0x828a('0xa')](socket);function respondWithRpcPromise(_0xe313d3,_0x402660,_0x388d57){return new BPromise(function(_0x7b8556,_0x5a6e22){return client[_0x828a('0xb')](_0xe313d3,_0x388d57)['then'](function(_0x24418c){logger[_0x828a('0xc')](_0x828a('0xd'),_0x402660,_0x828a('0xe'));logger['debug']('FaxAccount,\x20%s,\x20%s,\x20%s',_0x402660,_0x828a('0xe'),JSON[_0x828a('0xf')](_0x24418c));if(_0x24418c[_0x828a('0x10')]){if(_0x24418c['error'][_0x828a('0x11')]===0x1f4){logger[_0x828a('0x10')]('FaxAccount,\x20%s,\x20%s',_0x402660,_0x24418c[_0x828a('0x10')][_0x828a('0x12')]);return _0x5a6e22(_0x24418c[_0x828a('0x10')][_0x828a('0x12')]);}logger[_0x828a('0x10')](_0x828a('0xd'),_0x402660,_0x24418c[_0x828a('0x10')]['message']);return _0x7b8556(_0x24418c['error'][_0x828a('0x12')]);}else{logger['info'](_0x828a('0xd'),_0x402660,_0x828a('0xe'));_0x7b8556(_0x24418c[_0x828a('0x13')][_0x828a('0x12')]);}})[_0x828a('0x14')](function(_0x6e1faf){logger[_0x828a('0x10')](_0x828a('0xd'),_0x402660,_0x6e1faf);_0x5a6e22(_0x6e1faf);});});}exports[_0x828a('0x15')]=function(_0x48e35e){var _0x5b65b5=this;return new Promise(function(_0x5dc3b1,_0x42a483){return db[_0x828a('0x16')]['findAll']({'raw':_0x48e35e['options']?_0x48e35e[_0x828a('0x17')]['raw']===undefined?!![]:![]:!![],'where':_0x48e35e['options']?_0x48e35e[_0x828a('0x17')]['where']||null:null,'attributes':_0x48e35e[_0x828a('0x17')]?_0x48e35e[_0x828a('0x17')]['attributes']||null:null,'limit':_0x48e35e[_0x828a('0x17')]?_0x48e35e[_0x828a('0x17')]['limit']||null:null,'include':_0x48e35e[_0x828a('0x17')]?_0x48e35e[_0x828a('0x17')][_0x828a('0x18')]?_['map'](_0x48e35e[_0x828a('0x17')][_0x828a('0x18')],function(_0x3a5cd5){return{'model':db[_0x3a5cd5[_0x828a('0x19')]],'as':_0x3a5cd5['as'],'attributes':_0x3a5cd5[_0x828a('0x1a')],'include':_0x3a5cd5[_0x828a('0x18')]?_[_0x828a('0x1b')](_0x3a5cd5[_0x828a('0x18')],function(_0xd5ebf3){return{'model':db[_0xd5ebf3[_0x828a('0x19')]],'as':_0xd5ebf3['as'],'attributes':_0xd5ebf3[_0x828a('0x1a')],'include':_0xd5ebf3[_0x828a('0x18')]?_[_0x828a('0x1b')](_0xd5ebf3[_0x828a('0x18')],function(_0x3535b1){return{'model':db[_0x3535b1[_0x828a('0x19')]],'as':_0x3535b1['as'],'attributes':_0x3535b1['attributes']};}):[]};}):[]};}):[]:[]})[_0x828a('0x1c')](function(_0x3cde07){logger[_0x828a('0xc')](_0x828a('0x15'),_0x48e35e);logger[_0x828a('0x1d')](_0x828a('0x15'),_0x48e35e,JSON[_0x828a('0xf')](_0x3cde07));_0x5dc3b1(_0x3cde07);})['catch'](function(_0x4092c){logger[_0x828a('0x10')](_0x828a('0x15'),_0x4092c['message'],_0x48e35e);_0x42a483(_0x5b65b5[_0x828a('0x10')](0x1f4,_0x4092c[_0x828a('0x12')]));});});};exports['NotifyFaxAccount']=function(_0x2a1f8a,_0x3dbd03,_0x299cb6){var _0x169c31=this;return new Promise(function(_0xf31e84,_0x4f6098){var _0x269481={'body':_0x2a1f8a[_0x828a('0x1e')],'channel':'fax'};var _0x4df139=[];var _0x56d012=[];var _0x5dddb9={};return db[_0x828a('0x1f')][_0x828a('0x20')]()[_0x828a('0x1c')](function(_0x5de8e9){if(!_0x5de8e9){throw new db['Sequelize'][(_0x828a('0x21'))]('no\x20available\x20attributes');}_0x4df139=_[_0x828a('0x22')](_[_0x828a('0x23')](_0x5de8e9),[_0x828a('0x24'),_0x828a('0x25')]);_0x56d012=_['difference'](_[_0x828a('0x23')](_0x5de8e9),[_0x828a('0x24'),_0x828a('0x25'),_0x828a('0x26'),'ListId']);if(_0x2a1f8a['body']['id']){delete _0x2a1f8a[_0x828a('0x1e')]['id'];}if(_[_0x828a('0x27')](_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x28')])){throw new db[(_0x828a('0x29'))][(_0x828a('0x21'))](_0x828a('0x2a'));}if(_[_0x828a('0x27')](_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x1e')])||_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x1e')]===''){throw new db[(_0x828a('0x29'))][(_0x828a('0x21'))](_0x828a('0x2b'));}if(_[_0x828a('0x27')](_0x2a1f8a[_0x828a('0x1e')]['mapKey'])){throw new db[(_0x828a('0x29'))][(_0x828a('0x21'))](_0x828a('0x2c')+_0x56d012);}if(!_[_0x828a('0x2d')](_0x56d012,_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x2e')])){throw new db[(_0x828a('0x29'))]['ValidationError'](_0x828a('0x2f')+_0x56d012);}_0x5dddb9[_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x2e')]]=_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x28')];})[_0x828a('0x1c')](function(){return db['FaxAccount'][_0x828a('0x30')]({'where':{'id':_0x2a1f8a['account']['id']},'include':[{'model':db[_0x828a('0x31')],'as':_0x828a('0x32'),'include':[{'model':db['CmContact'],'as':_0x828a('0x33'),'where':_0x5dddb9,'limit':0x1,'order':[[_0x828a('0x25'),_0x828a('0x34')]]}]},{'model':db[_0x828a('0x35')],'as':_0x828a('0x36')}]});})[_0x828a('0x1c')](function(_0x50a789){if(_0x50a789&&_0x50a789[_0x828a('0x32')]){var _0x43ce7a=_0x50a789[_0x828a('0x37')]({'plain':!![]});_0x269481[_0x828a('0x38')]=_0x43ce7a;_0x269481[_0x828a('0x39')]=_0x43ce7a[_0x828a('0x36')];_0x269481[_0x828a('0x3a')]=_0x43ce7a[_0x828a('0x32')];_0x269481[_0x828a('0x39')]=_[_0x828a('0x3b')](_0x269481[_0x828a('0x39')],['priority'],[_0x828a('0x3c')]);if(_0x269481[_0x828a('0x38')][_0x828a('0x36')]){delete _0x269481[_0x828a('0x38')][_0x828a('0x36')];}if(_0x269481['account'][_0x828a('0x32')]&&_0x269481[_0x828a('0x38')]['List']['Contacts']['length']){return _0x269481[_0x828a('0x38')]['List']['Contacts'][0x0];}var _0x12a1c5=_['defaults'](_0x2a1f8a[_0x828a('0x1e')],{'firstName':_0x2a1f8a['body']['from'],'ListId':_0x43ce7a[_0x828a('0x3d')]});_0x12a1c5[_0x2a1f8a[_0x828a('0x1e')]['mapKey']]=_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x28')];return db[_0x828a('0x1f')][_0x828a('0x3e')](_0x12a1c5,{'fields':_0x4df139,'raw':!![]});}})['then'](function(_0x56032e){_0x269481['contact']=_0x56032e;if(_0x56032e){var _0x120bf2={'ContactId':_0x56032e['id'],'FaxAccountId':_0x2a1f8a[_0x828a('0x38')]['id'],'fax':_0x56032e[_0x828a('0x3f')]};return db[_0x828a('0x40')][_0x828a('0x30')]({'where':{'ContactId':_0x56032e['id'],'closed':![],'FaxAccountId':_0x2a1f8a[_0x828a('0x38')]['id']}})[_0x828a('0x1c')](function(_0x1473f9){if(_0x1473f9){return[_0x1473f9,![]];}return db[_0x828a('0x40')][_0x828a('0x3e')](_0x120bf2)[_0x828a('0x1c')](function(_0xd280d5){return[_0xd280d5,!![]];});});}else{throw new Error(_0x828a('0x41'));}})[_0x828a('0x42')](function(_0x3ae28b,_0x16874a){var _0x317357=_0x3ae28b[_0x828a('0x37')]({'plain':!![]});if(_0x16874a){if(_0x269481[_0x828a('0x38')][_0x828a('0x43')]){_0x269481[_0x828a('0x39')]['push']({'id':0x0,'priority':_0x269481[_0x828a('0x39')]['length']+0x1,'app':_0x828a('0x44'),'appdata':'unmanaged','interval':_0x828a('0x45')});}_0x317357[_0x828a('0x46')]=!![];}else{_0x317357['created']=![];}_0x269481[_0x828a('0x47')]=_0x317357;return db[_0x828a('0x48')][_0x828a('0x3e')]({'body':_0x2a1f8a['body'][_0x828a('0x1e')],'FaxAccountId':_0x2a1f8a['account']['id'],'FaxInteractionId':_0x3ae28b['id'],'direction':'in','ContactId':_0x3ae28b[_0x828a('0x49')],'AttachmentId':_0x2a1f8a[_0x828a('0x1e')][_0x828a('0x4a')]});})['then'](function(_0x3d9fc4){_0x269481[_0x828a('0x12')]=_0x3d9fc4;if(_0x269481[_0x828a('0x47')][_0x828a('0x4b')]){return db['User'][_0x828a('0x30')]({'attributes':['id',_0x828a('0x4c')],'where':{'id':_0x269481[_0x828a('0x47')][_0x828a('0x4b')]}})['then'](function(_0xe3918f){if(_0xe3918f){_0x269481[_0x828a('0x39')]['unshift']({'id':0x0,'priority':0x0,'app':_0x828a('0x4d'),'appdata':_0xe3918f[_0x828a('0x4c')]+','+(_0x269481['account'][_0x828a('0x4e')]||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0x828a('0x4f'),_0x828a('0x50'),_0x269481);});}return respondWithRpcPromise(_0x828a('0x4f'),_0x828a('0x50'),_0x269481);})['then'](function(_0x317bcd){_0xf31e84(_0x317bcd);})[_0x828a('0x14')](function(_0x2d7a62){_0x4f6098(_0x169c31[_0x828a('0x10')](0x1f4,_0x2d7a62[_0x828a('0x12')]));});});};