Built motion from commit (unavailable).|2.3.3
[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 _0x762d=['key','field','merge','options','FaxMessage','includeAll','include','findAll','catch','show','params','find','body','describe','fax-interactions','accept','fax','read','format','YYYY-MM-DD\x20HH:mm:ss','UserId','CmContact','Contact','get','FaxInteraction','FaxInteractionId','isNil','interaction','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','user','role','null','AcceptMessage','acceptMessage','manual','interface','name','channel','EventManager','acceptmessage','agent','RejectMessage','rejectMessage','SIP/%s','create','findOne','ContactId','Attachment','AttachmentId','SendFax','FaxAccountId','join','root','server','files','download','basename','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','register','jayson/promise','client','http','request','FaxMessage,\x20%s,\x20%s','debug','FaxMessage,\x20%s,\x20%s,\x20%s','request\x20sent','error','message','info','result','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','destroy','then','send','index','rawAttributes','model','keys','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','map','type'];(function(_0x50f112,_0xd38e53){var _0x4ecf28=function(_0x62b75){while(--_0x62b75){_0x50f112['push'](_0x50f112['shift']());}};_0x4ecf28(++_0xd38e53);}(_0x762d,0x1b9));var _0xd762=function(_0x6adc18,_0x2b463e){_0x6adc18=_0x6adc18-0x0;var _0x32478a=_0x762d[_0x6adc18];return _0x32478a;};'use strict';var pdf=require(_0xd762('0x0'));var emlformat=require(_0xd762('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xd762('0x2'));var jsonpatch=require(_0xd762('0x3'));var rp=require(_0xd762('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xd762('0x5'));var csv=require(_0xd762('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xd762('0x7'));var squel=require('squel');var crypto=require(_0xd762('0x8'));var jsforce=require(_0xd762('0x9'));var deskjs=require(_0xd762('0xa'));var toCsv=require('to-csv');var querystring=require(_0xd762('0xb'));var Papa=require(_0xd762('0xc'));var authService=require(_0xd762('0xd'));var hardwareService=require('../../config/license/hardware');var Redis=require(_0xd762('0xe'));var qs=require(_0xd762('0xf'));var logger=require(_0xd762('0x10'))(_0xd762('0x11'));var utils=require(_0xd762('0x12'));var config=require(_0xd762('0x13'));var db=require(_0xd762('0x14'))['db'];config[_0xd762('0x15')]=_[_0xd762('0x16')](config[_0xd762('0x15')],{'host':_0xd762('0x17'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./faxMessage.socket')[_0xd762('0x18')](socket);var jayson=require(_0xd762('0x19'));var client=jayson[_0xd762('0x1a')]['http']({'port':0x232c});var client9002=jayson[_0xd762('0x1a')][_0xd762('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x44df86,_0x4ce0ed,_0x32dd5a,_0x303765){return new BPromise(function(_0x201a06,_0xb2d77e){var _0x34349c=_0x303765||client;return _0x34349c[_0xd762('0x1c')](_0x44df86,_0x32dd5a)['then'](function(_0x272ccc){logger['info'](_0xd762('0x1d'),_0x4ce0ed,'request\x20sent');logger[_0xd762('0x1e')](_0xd762('0x1f'),_0x4ce0ed,_0xd762('0x20'),JSON['stringify'](_0x272ccc));if(_0x272ccc[_0xd762('0x21')]){if(_0x272ccc[_0xd762('0x21')]['code']===0x1f4){logger['error'](_0xd762('0x1d'),_0x4ce0ed,_0x272ccc['error'][_0xd762('0x22')]);return _0xb2d77e(_0x272ccc[_0xd762('0x21')][_0xd762('0x22')]);}logger[_0xd762('0x21')](_0xd762('0x1d'),_0x4ce0ed,_0x272ccc[_0xd762('0x21')][_0xd762('0x22')]);return _0x201a06(_0x272ccc[_0xd762('0x21')][_0xd762('0x22')]);}else{logger[_0xd762('0x23')](_0xd762('0x1d'),_0x4ce0ed,_0xd762('0x20'));_0x201a06(_0x272ccc[_0xd762('0x24')][_0xd762('0x22')]);}})['catch'](function(_0x4152ce){logger[_0xd762('0x21')]('FaxMessage,\x20%s,\x20%s',_0x4ce0ed,_0x4152ce);_0xb2d77e(_0x4152ce);});});}function respondWithStatusCode(_0x41b963,_0x210fac){_0x210fac=_0x210fac||0xcc;return function(_0x43c8ea){if(_0x43c8ea){return _0x41b963[_0xd762('0x25')](_0x210fac);}return _0x41b963[_0xd762('0x26')](_0x210fac)[_0xd762('0x27')]();};}function respondWithResult(_0x47dd38,_0x4e7161){_0x4e7161=_0x4e7161||0xc8;return function(_0x3a9c12){if(_0x3a9c12){return _0x47dd38[_0xd762('0x26')](_0x4e7161)[_0xd762('0x28')](_0x3a9c12);}};}function respondWithFilteredResult(_0x557804,_0x1729be){return function(_0x155bf6){if(_0x155bf6){var _0xd87953=_0x155bf6[_0xd762('0x29')],_0x5d7ed3=_0x1729be[_0xd762('0x2a')],_0x1617c9=_0x1729be[_0xd762('0x2a')]+_0x1729be[_0xd762('0x2b')],_0x462cd9;if(_0x1617c9>=_0xd87953){_0x1617c9=_0xd87953;_0x462cd9=0xc8;}else{_0x462cd9=0xce;}_0x557804[_0xd762('0x26')](_0x462cd9);return _0x557804[_0xd762('0x2c')]('Content-Range',_0x5d7ed3+'-'+_0x1617c9+'/'+_0xd87953)[_0xd762('0x28')](_0x155bf6);}return null;};}function patchUpdates(_0x410aac){return function(_0x18ef82){try{jsonpatch[_0xd762('0x2d')](_0x18ef82,_0x410aac,!![]);}catch(_0x20b7e6){return BPromise[_0xd762('0x2e')](_0x20b7e6);}return _0x18ef82[_0xd762('0x2f')]();};}function saveUpdates(_0x12a9a8,_0x27f550){return function(_0x55d5e7){if(_0x55d5e7){return _0x55d5e7[_0xd762('0x30')](_0x12a9a8)['then'](function(_0xdb57e9){return _0xdb57e9;});}return null;};}function removeEntity(_0x1985d3,_0x4fd3fe){return function(_0x2f5ed2){if(_0x2f5ed2){return _0x2f5ed2[_0xd762('0x31')]()[_0xd762('0x32')](function(){_0x1985d3[_0xd762('0x26')](0xcc)['end']();});}};}function handleEntityNotFound(_0x550eb8,_0x5b34cb){return function(_0x3a3c41){if(!_0x3a3c41){_0x550eb8[_0xd762('0x25')](0x194);}return _0x3a3c41;};}function handleError(_0x284659,_0x1d8386){_0x1d8386=_0x1d8386||0x1f4;return function(_0x53a531){logger[_0xd762('0x21')](_0x53a531['stack']);if(_0x53a531['name']){delete _0x53a531['name'];}_0x284659[_0xd762('0x26')](_0x1d8386)[_0xd762('0x33')](_0x53a531);};}exports[_0xd762('0x34')]=function(_0x4eaeef,_0x3db17f){var _0x3ea47c={},_0x4a707a={},_0x11601b={'count':0x0,'rows':[]};var _0x341532=db['FaxMessage'][_0xd762('0x35')];_0x4a707a[_0xd762('0x36')]=_[_0xd762('0x37')](_0x341532);_0x4a707a['query']=_[_0xd762('0x37')](_0x4eaeef[_0xd762('0x38')]);_0x4a707a['filters']=_['intersection'](_0x4a707a[_0xd762('0x36')],_0x4a707a[_0xd762('0x38')]);_0x3ea47c[_0xd762('0x39')]=_[_0xd762('0x3a')](_0x4a707a[_0xd762('0x36')],qs[_0xd762('0x3b')](_0x4eaeef[_0xd762('0x38')]['fields']));_0x3ea47c[_0xd762('0x39')]=_0x3ea47c['attributes'][_0xd762('0x3c')]?_0x3ea47c[_0xd762('0x39')]:_0x4a707a[_0xd762('0x36')];if(!_0x4eaeef[_0xd762('0x38')][_0xd762('0x3d')](_0xd762('0x3e'))){_0x3ea47c['limit']=qs['limit'](_0x4eaeef['query'][_0xd762('0x2b')]);_0x3ea47c[_0xd762('0x2a')]=qs['offset'](_0x4eaeef[_0xd762('0x38')][_0xd762('0x2a')]);}_0x3ea47c[_0xd762('0x3f')]=qs[_0xd762('0x40')](_0x4eaeef[_0xd762('0x38')][_0xd762('0x40')]);_0x3ea47c[_0xd762('0x41')]=qs[_0xd762('0x42')](_[_0xd762('0x43')](_0x4eaeef[_0xd762('0x38')],_0x4a707a[_0xd762('0x42')]));if(_0x4eaeef[_0xd762('0x38')][_0xd762('0x44')]){_0x3ea47c['where']=_['merge'](_0x3ea47c[_0xd762('0x41')],{'$or':_[_0xd762('0x45')](_0x341532,function(_0x1d5d57){if(_0x1d5d57[_0xd762('0x46')][_0xd762('0x47')]!=='VIRTUAL'){var _0x251382={};_0x251382[_0x1d5d57[_0xd762('0x48')]]={'$like':'%'+_0x4eaeef[_0xd762('0x38')][_0xd762('0x44')]+'%'};return _0x251382;}})});}_0x3ea47c=_[_0xd762('0x49')]({},_0x3ea47c,_0x4eaeef[_0xd762('0x4a')]);var _0x5168c7={'where':_0x3ea47c[_0xd762('0x41')]};return db[_0xd762('0x4b')][_0xd762('0x29')](_0x5168c7)['then'](function(_0x2c27b4){_0x11601b['count']=_0x2c27b4;if(_0x4eaeef[_0xd762('0x38')][_0xd762('0x4c')]){_0x3ea47c[_0xd762('0x4d')]=[{'all':!![]}];}return db[_0xd762('0x4b')][_0xd762('0x4e')](_0x3ea47c);})[_0xd762('0x32')](function(_0x2cd90f){_0x11601b['rows']=_0x2cd90f;return _0x11601b;})['then'](respondWithFilteredResult(_0x3db17f,_0x3ea47c))[_0xd762('0x4f')](handleError(_0x3db17f,null));};exports[_0xd762('0x50')]=function(_0x36d42a,_0xc141f6){var _0x71e923={'raw':!![],'where':{'id':_0x36d42a[_0xd762('0x51')]['id']}},_0x58b5d0={};_0x58b5d0[_0xd762('0x36')]=_[_0xd762('0x37')](db['FaxMessage'][_0xd762('0x35')]);_0x58b5d0[_0xd762('0x38')]=_[_0xd762('0x37')](_0x36d42a[_0xd762('0x38')]);_0x58b5d0['filters']=_[_0xd762('0x3a')](_0x58b5d0[_0xd762('0x36')],_0x58b5d0[_0xd762('0x38')]);_0x71e923[_0xd762('0x39')]=_[_0xd762('0x3a')](_0x58b5d0[_0xd762('0x36')],qs['fields'](_0x36d42a[_0xd762('0x38')][_0xd762('0x3b')]));_0x71e923['attributes']=_0x71e923[_0xd762('0x39')][_0xd762('0x3c')]?_0x71e923[_0xd762('0x39')]:_0x58b5d0[_0xd762('0x36')];if(_0x36d42a['query'][_0xd762('0x4c')]){_0x71e923[_0xd762('0x4d')]=[{'all':!![]}];}_0x71e923=_[_0xd762('0x49')]({},_0x71e923,_0x36d42a[_0xd762('0x4a')]);return db[_0xd762('0x4b')]['find'](_0x71e923)[_0xd762('0x32')](handleEntityNotFound(_0xc141f6,null))[_0xd762('0x32')](respondWithResult(_0xc141f6,null))['catch'](handleError(_0xc141f6,null));};exports[_0xd762('0x30')]=function(_0x8ab703,_0x30aa9f){if(_0x8ab703['body']['id']){delete _0x8ab703['body']['id'];}return db[_0xd762('0x4b')][_0xd762('0x52')]({'where':{'id':_0x8ab703[_0xd762('0x51')]['id']}})['then'](handleEntityNotFound(_0x30aa9f,null))[_0xd762('0x32')](saveUpdates(_0x8ab703[_0xd762('0x53')],null))[_0xd762('0x32')](respondWithResult(_0x30aa9f,null))[_0xd762('0x4f')](handleError(_0x30aa9f,null));};exports['destroy']=function(_0x34ebd0,_0x3d9823){return db[_0xd762('0x4b')][_0xd762('0x52')]({'where':{'id':_0x34ebd0[_0xd762('0x51')]['id']}})[_0xd762('0x32')](handleEntityNotFound(_0x3d9823,null))[_0xd762('0x32')](removeEntity(_0x3d9823,null))[_0xd762('0x4f')](handleError(_0x3d9823,null));};exports[_0xd762('0x54')]=function(_0x5c5bf4,_0x4f9e8c){return db['FaxMessage']['describe']()[_0xd762('0x32')](respondWithResult(_0x4f9e8c,null))[_0xd762('0x4f')](handleError(_0x4f9e8c,null));};var interaction_log=require(_0xd762('0x10'))(_0xd762('0x55'));exports[_0xd762('0x56')]=function(_0xa4aadf,_0x42d613,_0x37366d){var _0x3b73bf={'channel':_0xd762('0x57')};if(_0xa4aadf[_0xd762('0x53')]['id']){delete _0xa4aadf[_0xd762('0x53')]['id'];}_0xa4aadf['body'][_0xd762('0x58')]=!![];_0xa4aadf[_0xd762('0x53')]['readAt']=moment()[_0xd762('0x59')](_0xd762('0x5a'));_0xa4aadf[_0xd762('0x53')][_0xd762('0x5b')]=_0xa4aadf[_0xd762('0x53')][_0xd762('0x5b')]||_0xa4aadf['user']['id'];return db[_0xd762('0x4b')][_0xd762('0x52')]({'where':{'id':_0xa4aadf['params']['id'],'UserId':null},'include':[{'model':db[_0xd762('0x5c')],'as':_0xd762('0x5d')}]})[_0xd762('0x32')](handleEntityNotFound(_0x42d613,null))['then'](saveUpdates(_0xa4aadf['body'],null))[_0xd762('0x32')](function(_0x4cf859){if(_0x4cf859){_0x3b73bf[_0xd762('0x22')]=_0x4cf859[_0xd762('0x5e')]({'plain':!![]});return db[_0xd762('0x5f')][_0xd762('0x52')]({'where':{'id':_0x4cf859[_0xd762('0x60')]}});}return null;})[_0xd762('0x32')](handleEntityNotFound(_0x42d613,null))[_0xd762('0x32')](function(_0x5d2cb3){if(_0x5d2cb3){return _0x5d2cb3[_0xd762('0x30')]({'UserId':_0xa4aadf[_0xd762('0x53')][_0xd762('0x5b')],'read1stAt':_[_0xd762('0x61')](_0x5d2cb3['read1stAt'])?moment()[_0xd762('0x59')](_0xd762('0x5a')):undefined});}return null;})['then'](function(_0x3228f6){if(_0x3228f6){_0x3b73bf[_0xd762('0x62')]=_0x3228f6['get']({'plain':!![]});interaction_log[_0xd762('0x23')](_0xd762('0x63'),_0xa4aadf[_0xd762('0x64')]['id'],_0xa4aadf['user']['name'],_0xa4aadf[_0xd762('0x64')][_0xd762('0x65')],_0x3b73bf[_0xd762('0x62')]['id'],_0xa4aadf[_0xd762('0x53')]?JSON['stringify'](_0xa4aadf[_0xd762('0x53')]):_0xd762('0x66'));return respondWithRpcPromise(_0xd762('0x67'),_0xd762('0x68'),_0x3b73bf);}return null;})[_0xd762('0x32')](function(_0x31feab){if(_0x31feab){if(_0xa4aadf[_0xd762('0x53')][_0xd762('0x69')]){_0x3b73bf[_0xd762('0x22')][_0xd762('0x6a')]=util['format']('SIP/%s',_0xa4aadf[_0xd762('0x64')][_0xd762('0x6b')]);_0x3b73bf[_0xd762('0x22')][_0xd762('0x6c')]=_0x3b73bf[_0xd762('0x6c')];_0x3b73bf[_0xd762('0x22')]['event']='accept';return respondWithRpcPromise(_0xd762('0x6d'),_0xd762('0x6d'),{'event':_0xd762('0x6e'),'message':_0x3b73bf['message']},client9002)[_0xd762('0x32')](function(){return _0x3b73bf;});}return _0x3b73bf;}return null;})[_0xd762('0x32')](respondWithResult(_0x42d613,null))['catch'](handleError(_0x42d613,null));};var interaction_log=require(_0xd762('0x10'))(_0xd762('0x55'));exports[_0xd762('0x2e')]=function(_0xff99e9,_0x1d847a,_0x612828){var _0x104b0e={'agent':{},'channel':'fax'};if(_0xff99e9[_0xd762('0x53')]['id']){delete _0xff99e9[_0xd762('0x53')]['id'];}_0xff99e9[_0xd762('0x53')][_0xd762('0x5b')]=_0xff99e9['body'][_0xd762('0x5b')]||_0xff99e9['user']['id'];_0x104b0e[_0xd762('0x6f')]['id']=_0xff99e9[_0xd762('0x53')][_0xd762('0x5b')];return db[_0xd762('0x4b')][_0xd762('0x52')]({'where':{'id':_0xff99e9[_0xd762('0x51')]['id'],'UserId':null}})[_0xd762('0x32')](handleEntityNotFound(_0x1d847a,null))[_0xd762('0x32')](function(_0x3afaa8){if(_0x3afaa8){_0x104b0e[_0xd762('0x22')]=_0x3afaa8[_0xd762('0x5e')]({'plain':!![]});return db[_0xd762('0x5f')]['find']({'where':{'id':_0x3afaa8[_0xd762('0x60')]}});}return null;})[_0xd762('0x32')](handleEntityNotFound(_0x1d847a,null))[_0xd762('0x32')](function(_0x5c17db){if(_0x5c17db){_0x104b0e[_0xd762('0x62')]=_0x5c17db[_0xd762('0x5e')]({'plain':!![]});interaction_log[_0xd762('0x23')]('[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0xff99e9[_0xd762('0x64')]['id'],_0xff99e9[_0xd762('0x64')][_0xd762('0x6b')],_0xff99e9[_0xd762('0x64')][_0xd762('0x65')],_0x104b0e[_0xd762('0x62')]['id'],_0xff99e9[_0xd762('0x53')]?JSON['stringify'](_0xff99e9['body']):_0xd762('0x66'));return respondWithRpcPromise(_0xd762('0x70'),_0xd762('0x71'),_0x104b0e);}return null;})['then'](function(_0x48c17c){if(_0x48c17c){_0x48c17c[_0xd762('0x22')][_0xd762('0x6a')]=util[_0xd762('0x59')](_0xd762('0x72'),_0xff99e9[_0xd762('0x64')][_0xd762('0x6b')]);_0x48c17c[_0xd762('0x22')][_0xd762('0x6c')]=_0x104b0e['channel'];_0x48c17c[_0xd762('0x22')]['event']='reject';respondWithRpcPromise(_0xd762('0x6d'),_0xd762('0x6d'),{'event':'rejectmessage','message':_0x48c17c[_0xd762('0x22')]},client9002);return _0x104b0e;}return null;})[_0xd762('0x32')](respondWithResult(_0x1d847a,null))[_0xd762('0x4f')](handleError(_0x1d847a,null));};exports[_0xd762('0x73')]=function(_0x358c37,_0x1538b8){var _0x497502;return db[_0xd762('0x4b')][_0xd762('0x73')](_0x358c37[_0xd762('0x53')],{})['then'](function(_0x5ac2f5){_0x497502=_0x5ac2f5;return db[_0xd762('0x5c')][_0xd762('0x74')]({'where':{'id':_0x497502[_0xd762('0x75')]}});})[_0xd762('0x32')](function(_0x419672){if(_[_0xd762('0x61')](_0x419672)){return;}else{_0x497502['fax']=_0x419672[_0xd762('0x57')];return db[_0xd762('0x76')][_0xd762('0x74')]({'where':{'id':_0x497502[_0xd762('0x77')]}});}})[_0xd762('0x32')](function(_0x573f0b){return respondWithRpcPromise('SendFax',_0xd762('0x78'),{'FaxAccountId':_[_0xd762('0x61')](_0x358c37[_0xd762('0x53')])?undefined:_0x358c37[_0xd762('0x53')][_0xd762('0x79')],'path':_['isNil'](_0x573f0b)?undefined:util['format']('/var/opt/motion2/server/files/attachments/%s',_0x573f0b['basename']),'fax':_[_0xd762('0x61')](_0x497502[_0xd762('0x57')])?undefined:_0x497502[_0xd762('0x57')],'AttachmentId':_0x497502[_0xd762('0x77')]},client9002);})['then'](respondWithResult(_0x1538b8,0xc9))['catch'](handleError(_0x1538b8,null));};exports['download']=function(_0x92821a,_0xb9f1c9){var _0x209a02=path[_0xd762('0x7a')](config[_0xd762('0x7b')],_0xd762('0x7c'),_0xd762('0x7d'),'attachments');return db[_0xd762('0x4b')][_0xd762('0x52')]({'where':{'id':_0x92821a['params']['id']},'include':[{'model':db['Attachment'],'as':_0xd762('0x76')}]})[_0xd762('0x32')](handleEntityNotFound(_0xb9f1c9,null))[_0xd762('0x32')](function(_0x3bbfb0){if(_0x3bbfb0){return _0xb9f1c9[_0xd762('0x7e')](path[_0xd762('0x7a')](_0x209a02,_0x3bbfb0[_0xd762('0x76')][_0xd762('0x7f')]));}})[_0xd762('0x4f')](handleError(_0xb9f1c9,null));};