Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / faxMessage / faxMessage.controller.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 _0xc771=['null','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','QueryTypes','SELECT','contact','User','fullname','email','format','SIP/%s','channel','motionChannel','event','EventManager','rejectmessage','create','CmContact','findOne','isNil','Attachment','AttachmentId','SendFax','FaxAccountId','basename','download','root','attachments','path','lodash','ioredis','../../components/interaction/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxMessage.socket','register','jayson/promise','client','http','request','then','info','request\x20sent','debug','FaxMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','FaxMessage,\x20%s,\x20%s','result','catch','status','json','undefined','count','offset','limit','Content-Range','destroy','end','sendStatus','name','send','index','map','FaxMessage','rawAttributes','type','key','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','rows','show','update','body','params','find','describe','accept','sms','acceptMessage','fax','reject','UserId','user','agent','get','FaxInteraction','FaxInteractionId','interaction','[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role'];(function(_0x263204,_0x19286b){var _0xed3987=function(_0x282bf1){while(--_0x282bf1){_0x263204['push'](_0x263204['shift']());}};_0xed3987(++_0x19286b);}(_0xc771,0x181));var _0x1c77=function(_0x15d6fc,_0x251679){_0x15d6fc=_0x15d6fc-0x0;var _0x3bff7f=_0xc771[_0x15d6fc];return _0x3bff7f;};'use strict';var util=require('util');var path=require(_0x1c77('0x0'));var _=require(_0x1c77('0x1'));var Redis=require(_0x1c77('0x2'));var interactionService=require(_0x1c77('0x3'));var qs=require(_0x1c77('0x4'));var logger=require(_0x1c77('0x5'))(_0x1c77('0x6'));var config=require(_0x1c77('0x7'));var db=require(_0x1c77('0x8'))['db'];config[_0x1c77('0x9')]=_[_0x1c77('0xa')](config[_0x1c77('0x9')],{'host':_0x1c77('0xb'),'port':0x18eb});var socket=require(_0x1c77('0xc'))(new Redis(config[_0x1c77('0x9')]));require(_0x1c77('0xd'))[_0x1c77('0xe')](socket);var jayson=require(_0x1c77('0xf'));var client=jayson[_0x1c77('0x10')][_0x1c77('0x11')]({'port':0x232c});var client9002=jayson['client'][_0x1c77('0x11')]({'port':0x232a});var interaction_log=require(_0x1c77('0x5'))('fax-interactions');function respondWithRpcPromise(_0x2014ef,_0x55d5ab,_0x3ff440,_0x138c5e){return new Promise(function(_0x1b4cc6,_0x1c0010){var _0x381190=_0x138c5e||client;return _0x381190[_0x1c77('0x12')](_0x2014ef,_0x3ff440)[_0x1c77('0x13')](function(_0xfbf41a){logger[_0x1c77('0x14')]('FaxMessage,\x20%s,\x20%s',_0x55d5ab,_0x1c77('0x15'));logger[_0x1c77('0x16')](_0x1c77('0x17'),_0x55d5ab,_0x1c77('0x15'),JSON[_0x1c77('0x18')](_0xfbf41a));if(_0xfbf41a[_0x1c77('0x19')]){if(_0xfbf41a[_0x1c77('0x19')]['code']===0x1f4){logger['error']('FaxMessage,\x20%s,\x20%s',_0x55d5ab,_0xfbf41a[_0x1c77('0x19')][_0x1c77('0x1a')]);return _0x1c0010(_0xfbf41a['error'][_0x1c77('0x1a')]);}logger[_0x1c77('0x19')](_0x1c77('0x1b'),_0x55d5ab,_0xfbf41a[_0x1c77('0x19')][_0x1c77('0x1a')]);return _0x1b4cc6(_0xfbf41a[_0x1c77('0x19')][_0x1c77('0x1a')]);}else{logger['info'](_0x1c77('0x1b'),_0x55d5ab,_0x1c77('0x15'));_0x1b4cc6(_0xfbf41a[_0x1c77('0x1c')][_0x1c77('0x1a')]);}})[_0x1c77('0x1d')](function(_0x397afa){logger['error'](_0x1c77('0x1b'),_0x55d5ab,_0x397afa);_0x1c0010(_0x397afa);});});}function respondWithResult(_0x354623,_0x2e5bd5){_0x2e5bd5=_0x2e5bd5||0xc8;return function(_0x53cefb){if(_0x53cefb){return _0x354623[_0x1c77('0x1e')](_0x2e5bd5)[_0x1c77('0x1f')](_0x53cefb);}};}function respondWithFilteredResult(_0x4bff2f,_0xc189a6){return function(_0x42bd9e){if(_0x42bd9e){var _0x118f64=typeof _0xc189a6['offset']===_0x1c77('0x20')&&typeof _0xc189a6['limit']===_0x1c77('0x20');var _0x142e55=_0x42bd9e[_0x1c77('0x21')];var _0x36540b=_0x118f64?0x0:_0xc189a6['offset'];var _0x25d741=_0x118f64?_0x42bd9e[_0x1c77('0x21')]:_0xc189a6[_0x1c77('0x22')]+_0xc189a6[_0x1c77('0x23')];var _0x1fb893;if(_0x25d741>=_0x142e55){_0x25d741=_0x142e55;_0x1fb893=0xc8;}else{_0x1fb893=0xce;}_0x4bff2f[_0x1c77('0x1e')](_0x1fb893);return _0x4bff2f['set'](_0x1c77('0x24'),_0x36540b+'-'+_0x25d741+'/'+_0x142e55)[_0x1c77('0x1f')](_0x42bd9e);}return null;};}function saveUpdates(_0xbe0936){return function(_0x5d82b9){if(_0x5d82b9){return _0x5d82b9['update'](_0xbe0936)[_0x1c77('0x13')](function(_0x3f1d63){return _0x3f1d63;});}return null;};}function removeEntity(_0x5d418f){return function(_0x1340b8){if(_0x1340b8){return _0x1340b8[_0x1c77('0x25')]()[_0x1c77('0x13')](function(){_0x5d418f[_0x1c77('0x1e')](0xcc)[_0x1c77('0x26')]();});}};}function handleEntityNotFound(_0x3dd8ff){return function(_0x1fe64e){if(!_0x1fe64e){_0x3dd8ff[_0x1c77('0x27')](0x194);}return _0x1fe64e;};}function handleError(_0x50490f,_0x5c58db){_0x5c58db=_0x5c58db||0x1f4;return function(_0x190cfb){logger[_0x1c77('0x19')](_0x190cfb['stack']);if(_0x190cfb[_0x1c77('0x28')]){delete _0x190cfb[_0x1c77('0x28')];}_0x50490f[_0x1c77('0x1e')](_0x5c58db)[_0x1c77('0x29')](_0x190cfb);};}exports[_0x1c77('0x2a')]=function(_0x3401c5,_0x23e6a6){var _0x269293={},_0x53a3f4={},_0x366e80={'count':0x0,'rows':[]};var _0x4908d2=_[_0x1c77('0x2b')](db[_0x1c77('0x2c')][_0x1c77('0x2d')],function(_0x38d8ef){return{'name':_0x38d8ef['fieldName'],'type':_0x38d8ef[_0x1c77('0x2e')][_0x1c77('0x2f')]};});_0x53a3f4[_0x1c77('0x30')]=_[_0x1c77('0x2b')](_0x4908d2,'name');_0x53a3f4['query']=_[_0x1c77('0x31')](_0x3401c5[_0x1c77('0x32')]);_0x53a3f4['filters']=_[_0x1c77('0x33')](_0x53a3f4[_0x1c77('0x30')],_0x53a3f4[_0x1c77('0x32')]);_0x269293[_0x1c77('0x34')]=_[_0x1c77('0x33')](_0x53a3f4['model'],qs[_0x1c77('0x35')](_0x3401c5[_0x1c77('0x32')][_0x1c77('0x35')]));_0x269293[_0x1c77('0x34')]=_0x269293[_0x1c77('0x34')][_0x1c77('0x36')]?_0x269293[_0x1c77('0x34')]:_0x53a3f4[_0x1c77('0x30')];if(!_0x3401c5[_0x1c77('0x32')][_0x1c77('0x37')](_0x1c77('0x38'))){_0x269293['limit']=qs[_0x1c77('0x23')](_0x3401c5[_0x1c77('0x32')][_0x1c77('0x23')]);_0x269293[_0x1c77('0x22')]=qs[_0x1c77('0x22')](_0x3401c5[_0x1c77('0x32')][_0x1c77('0x22')]);}_0x269293['order']=qs[_0x1c77('0x39')](_0x3401c5[_0x1c77('0x32')][_0x1c77('0x39')]);_0x269293[_0x1c77('0x3a')]=qs[_0x1c77('0x3b')](_[_0x1c77('0x3c')](_0x3401c5['query'],_0x53a3f4[_0x1c77('0x3b')]),_0x4908d2);if(_0x3401c5[_0x1c77('0x32')][_0x1c77('0x3d')]){_0x269293[_0x1c77('0x3a')]=_[_0x1c77('0x3e')](_0x269293[_0x1c77('0x3a')],{'$or':_[_0x1c77('0x2b')](_0x4908d2,function(_0x49e53b){if(_0x49e53b[_0x1c77('0x2e')]!==_0x1c77('0x3f')){var _0x4224fa={};_0x4224fa[_0x49e53b[_0x1c77('0x28')]]={'$like':'%'+_0x3401c5[_0x1c77('0x32')][_0x1c77('0x3d')]+'%'};return _0x4224fa;}})});}_0x269293=_[_0x1c77('0x3e')]({},_0x269293,_0x3401c5[_0x1c77('0x40')]);var _0x3ff809={'where':_0x269293[_0x1c77('0x3a')]};return db['FaxMessage'][_0x1c77('0x21')](_0x3ff809)[_0x1c77('0x13')](function(_0x51891c){_0x366e80[_0x1c77('0x21')]=_0x51891c;if(_0x3401c5[_0x1c77('0x32')][_0x1c77('0x41')]){_0x269293['include']=[{'all':!![]}];}return db['FaxMessage']['findAll'](_0x269293);})[_0x1c77('0x13')](function(_0x17ecc7){_0x366e80[_0x1c77('0x42')]=_0x17ecc7;return _0x366e80;})[_0x1c77('0x13')](respondWithFilteredResult(_0x23e6a6,_0x269293))[_0x1c77('0x1d')](handleError(_0x23e6a6,null));};exports[_0x1c77('0x43')]=function(_0xfcd1d7,_0x3ce6eb){var _0x2e193a={'raw':!![],'where':{'id':_0xfcd1d7['params']['id']}},_0x135e70={};_0x135e70[_0x1c77('0x30')]=_['keys'](db['FaxMessage'][_0x1c77('0x2d')]);_0x135e70[_0x1c77('0x32')]=_['keys'](_0xfcd1d7[_0x1c77('0x32')]);_0x135e70[_0x1c77('0x3b')]=_[_0x1c77('0x33')](_0x135e70[_0x1c77('0x30')],_0x135e70[_0x1c77('0x32')]);_0x2e193a[_0x1c77('0x34')]=_[_0x1c77('0x33')](_0x135e70[_0x1c77('0x30')],qs[_0x1c77('0x35')](_0xfcd1d7[_0x1c77('0x32')][_0x1c77('0x35')]));_0x2e193a[_0x1c77('0x34')]=_0x2e193a[_0x1c77('0x34')][_0x1c77('0x36')]?_0x2e193a['attributes']:_0x135e70[_0x1c77('0x30')];if(_0xfcd1d7[_0x1c77('0x32')][_0x1c77('0x41')]){_0x2e193a['include']=[{'all':!![]}];}_0x2e193a=_[_0x1c77('0x3e')]({},_0x2e193a,_0xfcd1d7[_0x1c77('0x40')]);return db['FaxMessage']['find'](_0x2e193a)[_0x1c77('0x13')](handleEntityNotFound(_0x3ce6eb,null))[_0x1c77('0x13')](respondWithResult(_0x3ce6eb,null))[_0x1c77('0x1d')](handleError(_0x3ce6eb,null));};exports[_0x1c77('0x44')]=function(_0x218537,_0x4ffb64){if(_0x218537[_0x1c77('0x45')]['id']){delete _0x218537[_0x1c77('0x45')]['id'];}return db[_0x1c77('0x2c')]['find']({'where':{'id':_0x218537[_0x1c77('0x46')]['id']}})[_0x1c77('0x13')](handleEntityNotFound(_0x4ffb64,null))[_0x1c77('0x13')](saveUpdates(_0x218537[_0x1c77('0x45')],null))['then'](respondWithResult(_0x4ffb64,null))[_0x1c77('0x1d')](handleError(_0x4ffb64,null));};exports['destroy']=function(_0x24be68,_0x943de3){return db['FaxMessage'][_0x1c77('0x47')]({'where':{'id':_0x24be68['params']['id']}})[_0x1c77('0x13')](handleEntityNotFound(_0x943de3,null))[_0x1c77('0x13')](removeEntity(_0x943de3,null))['catch'](handleError(_0x943de3,null));};exports[_0x1c77('0x48')]=function(_0x38c7be,_0x1b12d0){return db[_0x1c77('0x2c')][_0x1c77('0x48')]()[_0x1c77('0x13')](respondWithResult(_0x1b12d0,null))[_0x1c77('0x1d')](handleError(_0x1b12d0,null));};exports[_0x1c77('0x49')]=function(_0x3fb592,_0x22d4c5){var _0x45fa06=_0x1c77('0x4a');return interactionService[_0x1c77('0x4b')](_0x3fb592,_0x45fa06)[_0x1c77('0x13')](respondWithResult(_0x22d4c5,null))['catch'](handleError(_0x22d4c5,null));};exports[_0x1c77('0x49')]=function(_0x4c5c23,_0x1d0a9e){var _0x38ce98=_0x1c77('0x4c');return interactionService[_0x1c77('0x4b')](_0x4c5c23,_0x38ce98)[_0x1c77('0x13')](respondWithResult(_0x1d0a9e,null))[_0x1c77('0x1d')](handleError(_0x1d0a9e,null));};exports[_0x1c77('0x4d')]=function(_0x18a270,_0x33b379){var _0x31edf6={'agent':{},'channel':_0x1c77('0x4c')};if(_0x18a270[_0x1c77('0x45')]['id']){delete _0x18a270['body']['id'];}_0x18a270['body'][_0x1c77('0x4e')]=_0x18a270[_0x1c77('0x45')]['UserId']||_0x18a270[_0x1c77('0x4f')]['id'];_0x31edf6[_0x1c77('0x50')]['id']=_0x18a270[_0x1c77('0x45')]['UserId'];return db[_0x1c77('0x2c')][_0x1c77('0x47')]({'where':{'id':_0x18a270[_0x1c77('0x46')]['id'],'UserId':null}})[_0x1c77('0x13')](handleEntityNotFound(_0x33b379,null))[_0x1c77('0x13')](function(_0x39bfe7){if(_0x39bfe7){_0x31edf6[_0x1c77('0x1a')]=_0x39bfe7[_0x1c77('0x51')]({'plain':!![]});return db[_0x1c77('0x52')][_0x1c77('0x47')]({'where':{'id':_0x39bfe7[_0x1c77('0x53')]}});}return null;})[_0x1c77('0x13')](handleEntityNotFound(_0x33b379,null))[_0x1c77('0x13')](function(_0x348ba8){if(_0x348ba8){_0x31edf6[_0x1c77('0x54')]=_0x348ba8[_0x1c77('0x51')]({'plain':!![]});interaction_log[_0x1c77('0x14')](_0x1c77('0x55'),_0x18a270[_0x1c77('0x4f')]['id'],_0x18a270['user'][_0x1c77('0x28')],_0x18a270['user'][_0x1c77('0x56')],_0x31edf6['interaction']['id'],_0x18a270[_0x1c77('0x45')]?JSON[_0x1c77('0x18')](_0x18a270['body']):_0x1c77('0x57'));return respondWithRpcPromise('RejectMessage',_0x1c77('0x58'),_0x31edf6);}return null;})[_0x1c77('0x13')](function(_0x4de814){var _0x3d0198=_0x1c77('0x59')+_0x4de814[_0x1c77('0x1a')][_0x1c77('0x5a')];return db[_0x1c77('0x5b')][_0x1c77('0x32')](_0x3d0198,{'type':db[_0x1c77('0x5c')][_0x1c77('0x5d')][_0x1c77('0x5e')],'raw':!![]})[_0x1c77('0x13')](function(_0x1ccb7e){return _0x1ccb7e;});})['then'](function(_0x2947bd){if(_0x2947bd){_0x31edf6['message'][_0x1c77('0x5f')]=_0x2947bd[0x0];if(!_0x18a270[_0x1c77('0x45')][_0x1c77('0x4e')])return;return db[_0x1c77('0x60')][_0x1c77('0x47')]({'where':{'id':_0x18a270[_0x1c77('0x45')]['UserId'],'role':'agent'},'attributes':['id',_0x1c77('0x28'),_0x1c77('0x61'),_0x1c77('0x62'),'internal'],'raw':!![]});}return null;})['then'](function(_0x5daba9){if(!_0x5daba9)return null;_0x31edf6['message'][_0x1c77('0x50')]=_0x5daba9;return _0x31edf6;})[_0x1c77('0x13')](function(_0x3130db){if(_0x3130db){_0x3130db[_0x1c77('0x1a')]['interface']=util[_0x1c77('0x63')](_0x1c77('0x64'),_0x18a270['user']['name']);_0x3130db['message'][_0x1c77('0x65')]=_0x31edf6['channel'];_0x3130db['message'][_0x1c77('0x66')]=_0x31edf6[_0x1c77('0x65')];_0x3130db[_0x1c77('0x1a')][_0x1c77('0x67')]=_0x1c77('0x4d');respondWithRpcPromise(_0x1c77('0x68'),_0x1c77('0x68'),{'event':_0x1c77('0x69'),'message':_0x3130db[_0x1c77('0x1a')]},client9002);return _0x31edf6;}return null;})[_0x1c77('0x13')](respondWithResult(_0x33b379,null))[_0x1c77('0x1d')](handleError(_0x33b379,null));};exports['create']=function(_0x328ed0,_0x4ea0c1){var _0x58dcdb;return db[_0x1c77('0x2c')][_0x1c77('0x6a')](_0x328ed0[_0x1c77('0x45')],{})[_0x1c77('0x13')](function(_0x4e45a6){_0x58dcdb=_0x4e45a6;return db[_0x1c77('0x6b')][_0x1c77('0x6c')]({'where':{'id':_0x58dcdb[_0x1c77('0x5a')]}});})[_0x1c77('0x13')](function(_0x1f5f0e){if(_[_0x1c77('0x6d')](_0x1f5f0e)){return;}else{_0x58dcdb[_0x1c77('0x4c')]=_0x1f5f0e[_0x1c77('0x4c')];return db[_0x1c77('0x6e')]['findOne']({'where':{'id':_0x58dcdb[_0x1c77('0x6f')]}});}})[_0x1c77('0x13')](function(_0x3f70d8){return respondWithRpcPromise(_0x1c77('0x70'),'SendFax',{'FaxAccountId':_['isNil'](_0x328ed0['body'])?undefined:_0x328ed0[_0x1c77('0x45')][_0x1c77('0x71')],'path':_[_0x1c77('0x6d')](_0x3f70d8)?undefined:util[_0x1c77('0x63')]('/var/opt/motion2/server/files/attachments/%s',_0x3f70d8[_0x1c77('0x72')]),'fax':_[_0x1c77('0x6d')](_0x58dcdb[_0x1c77('0x4c')])?undefined:_0x58dcdb[_0x1c77('0x4c')],'AttachmentId':_0x58dcdb[_0x1c77('0x6f')]},client9002);})['then'](respondWithResult(_0x4ea0c1,0xc9))[_0x1c77('0x1d')](handleError(_0x4ea0c1,null));};exports[_0x1c77('0x73')]=function(_0x77a8e6,_0x586707){var _0x5dec66=path['join'](config[_0x1c77('0x74')],'server','files',_0x1c77('0x75'));return db[_0x1c77('0x2c')][_0x1c77('0x47')]({'where':{'id':_0x77a8e6[_0x1c77('0x46')]['id']},'include':[{'model':db[_0x1c77('0x6e')],'as':_0x1c77('0x6e')}]})[_0x1c77('0x13')](handleEntityNotFound(_0x586707,null))[_0x1c77('0x13')](function(_0x4df4a4){if(_0x4df4a4){return _0x586707[_0x1c77('0x73')](path['join'](_0x5dec66,_0x4df4a4[_0x1c77('0x6e')]['basename']));}})['catch'](handleError(_0x586707,null));};