Built motion from commit (unavailable).|2.5.23
[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 _0x93e9=['map','FaxMessage','rawAttributes','fieldName','key','model','query','keys','filters','attributes','fields','length','sort','where','pick','filter','merge','options','count','includeAll','findAll','rows','params','intersection','find','body','describe','accept','fax','readAt','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','CmContact','Contact','get','FaxInteraction','FaxInteractionId','isNil','read1stAt','interaction','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','acceptMessage','manual','interface','SIP/%s','channel','event','EventManager','acceptmessage','fax-interactions','reject','agent','[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','rejectmessage','create','ContactId','AttachmentId','SendFax','FaxAccountId','/var/opt/motion2/server/files/attachments/%s','basename','join','root','server','files','attachments','Attachment','download','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./faxMessage.socket','register','jayson/promise','client','http','request','then','info','FaxMessage,\x20%s,\x20%s','request\x20sent','FaxMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','offset','limit','set','json','save','update','destroy','end','sendStatus','stack','name','send'];(function(_0x55d73,_0x4821b2){var _0x195f1e=function(_0x1b67c4){while(--_0x1b67c4){_0x55d73['push'](_0x55d73['shift']());}};_0x195f1e(++_0x4821b2);}(_0x93e9,0xcc));var _0x993e=function(_0xf71b61,_0x218f11){_0xf71b61=_0xf71b61-0x0;var _0x1b9b5d=_0x93e9[_0xf71b61];return _0x1b9b5d;};'use strict';var pdf=require(_0x993e('0x0'));var emlformat=require(_0x993e('0x1'));var rimraf=require(_0x993e('0x2'));var zipdir=require(_0x993e('0x3'));var jsonpatch=require(_0x993e('0x4'));var rp=require(_0x993e('0x5'));var moment=require(_0x993e('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x993e('0x7'));var path=require(_0x993e('0x8'));var sox=require(_0x993e('0x9'));var csv=require(_0x993e('0xa'));var ejs=require(_0x993e('0xb'));var fs=require('fs');var _=require(_0x993e('0xc'));var squel=require(_0x993e('0xd'));var crypto=require(_0x993e('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x993e('0xf'));var toCsv=require(_0x993e('0xa'));var querystring=require(_0x993e('0x10'));var Papa=require(_0x993e('0x11'));var Redis=require(_0x993e('0x12'));var authService=require(_0x993e('0x13'));var qs=require(_0x993e('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x993e('0x15'));var logger=require(_0x993e('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x993e('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x993e('0x18'))['db'];config['redis']=_['defaults'](config[_0x993e('0x19')],{'host':_0x993e('0x1a'),'port':0x18eb});var socket=require(_0x993e('0x1b'))(new Redis(config[_0x993e('0x19')]));require(_0x993e('0x1c'))[_0x993e('0x1d')](socket);var jayson=require(_0x993e('0x1e'));var client=jayson[_0x993e('0x1f')][_0x993e('0x20')]({'port':0x232c});var client9002=jayson[_0x993e('0x1f')][_0x993e('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x135771,_0x3df0e7,_0x125322,_0x1f267f){return new BPromise(function(_0x454475,_0x111707){var _0x526e06=_0x1f267f||client;return _0x526e06[_0x993e('0x21')](_0x135771,_0x125322)[_0x993e('0x22')](function(_0x3cc2b9){logger[_0x993e('0x23')](_0x993e('0x24'),_0x3df0e7,_0x993e('0x25'));logger['debug'](_0x993e('0x26'),_0x3df0e7,_0x993e('0x25'),JSON[_0x993e('0x27')](_0x3cc2b9));if(_0x3cc2b9[_0x993e('0x28')]){if(_0x3cc2b9[_0x993e('0x28')][_0x993e('0x29')]===0x1f4){logger[_0x993e('0x28')](_0x993e('0x24'),_0x3df0e7,_0x3cc2b9['error'][_0x993e('0x2a')]);return _0x111707(_0x3cc2b9['error'][_0x993e('0x2a')]);}logger[_0x993e('0x28')](_0x993e('0x24'),_0x3df0e7,_0x3cc2b9['error'][_0x993e('0x2a')]);return _0x454475(_0x3cc2b9[_0x993e('0x28')][_0x993e('0x2a')]);}else{logger[_0x993e('0x23')](_0x993e('0x24'),_0x3df0e7,_0x993e('0x25'));_0x454475(_0x3cc2b9[_0x993e('0x2b')][_0x993e('0x2a')]);}})[_0x993e('0x2c')](function(_0x18f6ac){logger[_0x993e('0x28')](_0x993e('0x24'),_0x3df0e7,_0x18f6ac);_0x111707(_0x18f6ac);});});}function respondWithStatusCode(_0x4fe471,_0x2756a7){_0x2756a7=_0x2756a7||0xcc;return function(_0x279bb8){if(_0x279bb8){return _0x4fe471['sendStatus'](_0x2756a7);}return _0x4fe471[_0x993e('0x2d')](_0x2756a7)['end']();};}function respondWithResult(_0x14a0c7,_0xa03fbd){_0xa03fbd=_0xa03fbd||0xc8;return function(_0x261822){if(_0x261822){return _0x14a0c7[_0x993e('0x2d')](_0xa03fbd)['json'](_0x261822);}};}function respondWithFilteredResult(_0x48d457,_0x32e332){return function(_0x466d63){if(_0x466d63){var _0x4a4f00=_0x466d63['count'],_0x223af0=_0x32e332[_0x993e('0x2e')],_0x46670a=_0x32e332[_0x993e('0x2e')]+_0x32e332[_0x993e('0x2f')],_0x248354;if(_0x46670a>=_0x4a4f00){_0x46670a=_0x4a4f00;_0x248354=0xc8;}else{_0x248354=0xce;}_0x48d457[_0x993e('0x2d')](_0x248354);return _0x48d457[_0x993e('0x30')]('Content-Range',_0x223af0+'-'+_0x46670a+'/'+_0x4a4f00)[_0x993e('0x31')](_0x466d63);}return null;};}function patchUpdates(_0x4d1379){return function(_0x782298){try{jsonpatch['apply'](_0x782298,_0x4d1379,!![]);}catch(_0x1da357){return BPromise['reject'](_0x1da357);}return _0x782298[_0x993e('0x32')]();};}function saveUpdates(_0x2ce5d5,_0x94a2fc){return function(_0x157ea4){if(_0x157ea4){return _0x157ea4[_0x993e('0x33')](_0x2ce5d5)[_0x993e('0x22')](function(_0x5562f1){return _0x5562f1;});}return null;};}function removeEntity(_0x1920c6,_0x4f9c94){return function(_0x4dbecb){if(_0x4dbecb){return _0x4dbecb[_0x993e('0x34')]()['then'](function(){_0x1920c6[_0x993e('0x2d')](0xcc)[_0x993e('0x35')]();});}};}function handleEntityNotFound(_0x2fa50e,_0xf06b15){return function(_0x3fd06e){if(!_0x3fd06e){_0x2fa50e[_0x993e('0x36')](0x194);}return _0x3fd06e;};}function handleError(_0x22a6bd,_0x14424a){_0x14424a=_0x14424a||0x1f4;return function(_0x16c944){logger[_0x993e('0x28')](_0x16c944[_0x993e('0x37')]);if(_0x16c944[_0x993e('0x38')]){delete _0x16c944[_0x993e('0x38')];}_0x22a6bd[_0x993e('0x2d')](_0x14424a)[_0x993e('0x39')](_0x16c944);};}exports['index']=function(_0x4325bc,_0x288b9c){var _0x2948cf={},_0x9a9f42={},_0x2b4d1={'count':0x0,'rows':[]};var _0x6f8808=_[_0x993e('0x3a')](db[_0x993e('0x3b')][_0x993e('0x3c')],function(_0x533e5a){return{'name':_0x533e5a[_0x993e('0x3d')],'type':_0x533e5a['type'][_0x993e('0x3e')]};});_0x9a9f42[_0x993e('0x3f')]=_[_0x993e('0x3a')](_0x6f8808,_0x993e('0x38'));_0x9a9f42[_0x993e('0x40')]=_[_0x993e('0x41')](_0x4325bc[_0x993e('0x40')]);_0x9a9f42[_0x993e('0x42')]=_['intersection'](_0x9a9f42[_0x993e('0x3f')],_0x9a9f42['query']);_0x2948cf[_0x993e('0x43')]=_['intersection'](_0x9a9f42[_0x993e('0x3f')],qs[_0x993e('0x44')](_0x4325bc[_0x993e('0x40')][_0x993e('0x44')]));_0x2948cf[_0x993e('0x43')]=_0x2948cf[_0x993e('0x43')][_0x993e('0x45')]?_0x2948cf[_0x993e('0x43')]:_0x9a9f42['model'];if(!_0x4325bc[_0x993e('0x40')]['hasOwnProperty']('nolimit')){_0x2948cf[_0x993e('0x2f')]=qs[_0x993e('0x2f')](_0x4325bc[_0x993e('0x40')]['limit']);_0x2948cf[_0x993e('0x2e')]=qs[_0x993e('0x2e')](_0x4325bc[_0x993e('0x40')]['offset']);}_0x2948cf['order']=qs['sort'](_0x4325bc[_0x993e('0x40')][_0x993e('0x46')]);_0x2948cf[_0x993e('0x47')]=qs['filters'](_[_0x993e('0x48')](_0x4325bc[_0x993e('0x40')],_0x9a9f42['filters']),_0x6f8808);if(_0x4325bc[_0x993e('0x40')][_0x993e('0x49')]){_0x2948cf['where']=_[_0x993e('0x4a')](_0x2948cf[_0x993e('0x47')],{'$or':_[_0x993e('0x3a')](_0x6f8808,function(_0x5e18e9){if(_0x5e18e9['type']!=='VIRTUAL'){var _0x5bc642={};_0x5bc642[_0x5e18e9[_0x993e('0x38')]]={'$like':'%'+_0x4325bc[_0x993e('0x40')][_0x993e('0x49')]+'%'};return _0x5bc642;}})});}_0x2948cf=_['merge']({},_0x2948cf,_0x4325bc[_0x993e('0x4b')]);var _0x42017a={'where':_0x2948cf[_0x993e('0x47')]};return db[_0x993e('0x3b')][_0x993e('0x4c')](_0x42017a)[_0x993e('0x22')](function(_0x52f148){_0x2b4d1['count']=_0x52f148;if(_0x4325bc[_0x993e('0x40')][_0x993e('0x4d')]){_0x2948cf['include']=[{'all':!![]}];}return db['FaxMessage'][_0x993e('0x4e')](_0x2948cf);})[_0x993e('0x22')](function(_0x8abac0){_0x2b4d1[_0x993e('0x4f')]=_0x8abac0;return _0x2b4d1;})[_0x993e('0x22')](respondWithFilteredResult(_0x288b9c,_0x2948cf))[_0x993e('0x2c')](handleError(_0x288b9c,null));};exports['show']=function(_0x206a74,_0x51ca44){var _0xb8629f={'raw':!![],'where':{'id':_0x206a74[_0x993e('0x50')]['id']}},_0x1f7425={};_0x1f7425[_0x993e('0x3f')]=_[_0x993e('0x41')](db[_0x993e('0x3b')][_0x993e('0x3c')]);_0x1f7425[_0x993e('0x40')]=_['keys'](_0x206a74[_0x993e('0x40')]);_0x1f7425[_0x993e('0x42')]=_[_0x993e('0x51')](_0x1f7425['model'],_0x1f7425[_0x993e('0x40')]);_0xb8629f['attributes']=_[_0x993e('0x51')](_0x1f7425[_0x993e('0x3f')],qs['fields'](_0x206a74[_0x993e('0x40')][_0x993e('0x44')]));_0xb8629f['attributes']=_0xb8629f[_0x993e('0x43')][_0x993e('0x45')]?_0xb8629f[_0x993e('0x43')]:_0x1f7425[_0x993e('0x3f')];if(_0x206a74[_0x993e('0x40')]['includeAll']){_0xb8629f['include']=[{'all':!![]}];}_0xb8629f=_['merge']({},_0xb8629f,_0x206a74[_0x993e('0x4b')]);return db[_0x993e('0x3b')][_0x993e('0x52')](_0xb8629f)[_0x993e('0x22')](handleEntityNotFound(_0x51ca44,null))[_0x993e('0x22')](respondWithResult(_0x51ca44,null))[_0x993e('0x2c')](handleError(_0x51ca44,null));};exports['update']=function(_0x3a897d,_0x258482){if(_0x3a897d[_0x993e('0x53')]['id']){delete _0x3a897d['body']['id'];}return db[_0x993e('0x3b')]['find']({'where':{'id':_0x3a897d['params']['id']}})[_0x993e('0x22')](handleEntityNotFound(_0x258482,null))[_0x993e('0x22')](saveUpdates(_0x3a897d['body'],null))[_0x993e('0x22')](respondWithResult(_0x258482,null))['catch'](handleError(_0x258482,null));};exports[_0x993e('0x34')]=function(_0xd92bd7,_0x4a0dbd){return db['FaxMessage'][_0x993e('0x52')]({'where':{'id':_0xd92bd7[_0x993e('0x50')]['id']}})[_0x993e('0x22')](handleEntityNotFound(_0x4a0dbd,null))[_0x993e('0x22')](removeEntity(_0x4a0dbd,null))[_0x993e('0x2c')](handleError(_0x4a0dbd,null));};exports[_0x993e('0x54')]=function(_0x4f9225,_0x23c2e2){return db[_0x993e('0x3b')]['describe']()[_0x993e('0x22')](respondWithResult(_0x23c2e2,null))[_0x993e('0x2c')](handleError(_0x23c2e2,null));};var interaction_log=require(_0x993e('0x16'))('fax-interactions');exports[_0x993e('0x55')]=function(_0x1a0d08,_0x1425a2,_0x5049e9){var _0x11a1a8={'agent':{},'channel':_0x993e('0x56')};if(_0x1a0d08[_0x993e('0x53')]['id']){delete _0x1a0d08['body']['id'];}_0x1a0d08['body']['read']=!![];_0x1a0d08[_0x993e('0x53')][_0x993e('0x57')]=moment()[_0x993e('0x58')](_0x993e('0x59'));_0x1a0d08[_0x993e('0x53')]['UserId']=_0x1a0d08[_0x993e('0x53')][_0x993e('0x5a')]||_0x1a0d08[_0x993e('0x5b')]['id'];_0x11a1a8['agent']['id']=_0x1a0d08[_0x993e('0x53')][_0x993e('0x5a')];return db[_0x993e('0x3b')][_0x993e('0x52')]({'where':{'id':_0x1a0d08['params']['id'],'UserId':null},'include':[{'model':db[_0x993e('0x5c')],'as':_0x993e('0x5d')}]})['then'](handleEntityNotFound(_0x1425a2,null))['then'](saveUpdates(_0x1a0d08[_0x993e('0x53')],null))[_0x993e('0x22')](function(_0x213f06){if(_0x213f06){_0x11a1a8[_0x993e('0x2a')]=_0x213f06[_0x993e('0x5e')]({'plain':!![]});return db[_0x993e('0x5f')][_0x993e('0x52')]({'where':{'id':_0x213f06[_0x993e('0x60')]}});}return null;})[_0x993e('0x22')](handleEntityNotFound(_0x1425a2,null))[_0x993e('0x22')](function(_0x300a93){if(_0x300a93){return _0x300a93[_0x993e('0x33')]({'UserId':_0x1a0d08[_0x993e('0x53')][_0x993e('0x5a')],'read1stAt':_[_0x993e('0x61')](_0x300a93[_0x993e('0x62')])?moment()['format'](_0x993e('0x59')):undefined});}return null;})[_0x993e('0x22')](function(_0x598e41){if(_0x598e41){_0x11a1a8[_0x993e('0x63')]=_0x598e41['get']({'plain':!![]});interaction_log[_0x993e('0x23')](_0x993e('0x64'),_0x1a0d08[_0x993e('0x5b')]['id'],_0x1a0d08['user'][_0x993e('0x38')],_0x1a0d08['user']['role'],_0x11a1a8[_0x993e('0x63')]['id'],_0x1a0d08[_0x993e('0x53')]?JSON[_0x993e('0x27')](_0x1a0d08[_0x993e('0x53')]):_0x993e('0x65'));return respondWithRpcPromise('AcceptMessage',_0x993e('0x66'),_0x11a1a8);}return null;})[_0x993e('0x22')](function(_0x2c59b0){if(_0x2c59b0){if(_0x1a0d08['body'][_0x993e('0x67')]){_0x11a1a8['message'][_0x993e('0x68')]=util[_0x993e('0x58')](_0x993e('0x69'),_0x1a0d08['user'][_0x993e('0x38')]);_0x11a1a8[_0x993e('0x2a')][_0x993e('0x6a')]=_0x11a1a8[_0x993e('0x6a')];_0x11a1a8[_0x993e('0x2a')][_0x993e('0x6b')]=_0x993e('0x55');return respondWithRpcPromise(_0x993e('0x6c'),_0x993e('0x6c'),{'event':_0x993e('0x6d'),'message':_0x11a1a8['message']},client9002)[_0x993e('0x22')](function(){return _0x11a1a8;});}return _0x11a1a8;}return null;})[_0x993e('0x22')](respondWithResult(_0x1425a2,null))[_0x993e('0x2c')](handleError(_0x1425a2,null));};var interaction_log=require(_0x993e('0x16'))(_0x993e('0x6e'));exports[_0x993e('0x6f')]=function(_0x282c53,_0x19fb38,_0x48dfc6){var _0x5323a3={'agent':{},'channel':_0x993e('0x56')};if(_0x282c53['body']['id']){delete _0x282c53[_0x993e('0x53')]['id'];}_0x282c53[_0x993e('0x53')][_0x993e('0x5a')]=_0x282c53['body'][_0x993e('0x5a')]||_0x282c53['user']['id'];_0x5323a3[_0x993e('0x70')]['id']=_0x282c53[_0x993e('0x53')][_0x993e('0x5a')];return db[_0x993e('0x3b')][_0x993e('0x52')]({'where':{'id':_0x282c53[_0x993e('0x50')]['id'],'UserId':null}})[_0x993e('0x22')](handleEntityNotFound(_0x19fb38,null))[_0x993e('0x22')](function(_0x4865bb){if(_0x4865bb){_0x5323a3['message']=_0x4865bb[_0x993e('0x5e')]({'plain':!![]});return db['FaxInteraction'][_0x993e('0x52')]({'where':{'id':_0x4865bb[_0x993e('0x60')]}});}return null;})[_0x993e('0x22')](handleEntityNotFound(_0x19fb38,null))[_0x993e('0x22')](function(_0xb4e02c){if(_0xb4e02c){_0x5323a3[_0x993e('0x63')]=_0xb4e02c[_0x993e('0x5e')]({'plain':!![]});interaction_log[_0x993e('0x23')](_0x993e('0x71'),_0x282c53[_0x993e('0x5b')]['id'],_0x282c53['user'][_0x993e('0x38')],_0x282c53[_0x993e('0x5b')]['role'],_0x5323a3[_0x993e('0x63')]['id'],_0x282c53[_0x993e('0x53')]?JSON[_0x993e('0x27')](_0x282c53[_0x993e('0x53')]):_0x993e('0x65'));return respondWithRpcPromise(_0x993e('0x72'),_0x993e('0x73'),_0x5323a3);}return null;})[_0x993e('0x22')](function(_0x1257fb){if(_0x1257fb){_0x1257fb['message'][_0x993e('0x68')]=util[_0x993e('0x58')](_0x993e('0x69'),_0x282c53[_0x993e('0x5b')]['name']);_0x1257fb['message'][_0x993e('0x6a')]=_0x5323a3['channel'];_0x1257fb[_0x993e('0x2a')][_0x993e('0x6b')]=_0x993e('0x6f');respondWithRpcPromise(_0x993e('0x6c'),_0x993e('0x6c'),{'event':_0x993e('0x74'),'message':_0x1257fb[_0x993e('0x2a')]},client9002);return _0x5323a3;}return null;})[_0x993e('0x22')](respondWithResult(_0x19fb38,null))[_0x993e('0x2c')](handleError(_0x19fb38,null));};exports[_0x993e('0x75')]=function(_0x47b267,_0x416bcd){var _0x3d28d3;return db[_0x993e('0x3b')][_0x993e('0x75')](_0x47b267[_0x993e('0x53')],{})[_0x993e('0x22')](function(_0x1079e7){_0x3d28d3=_0x1079e7;return db['CmContact']['findOne']({'where':{'id':_0x3d28d3[_0x993e('0x76')]}});})[_0x993e('0x22')](function(_0x61c5f){if(_[_0x993e('0x61')](_0x61c5f)){return;}else{_0x3d28d3[_0x993e('0x56')]=_0x61c5f['fax'];return db['Attachment']['findOne']({'where':{'id':_0x3d28d3[_0x993e('0x77')]}});}})[_0x993e('0x22')](function(_0x169f91){return respondWithRpcPromise(_0x993e('0x78'),_0x993e('0x78'),{'FaxAccountId':_['isNil'](_0x47b267[_0x993e('0x53')])?undefined:_0x47b267[_0x993e('0x53')][_0x993e('0x79')],'path':_['isNil'](_0x169f91)?undefined:util[_0x993e('0x58')](_0x993e('0x7a'),_0x169f91[_0x993e('0x7b')]),'fax':_[_0x993e('0x61')](_0x3d28d3[_0x993e('0x56')])?undefined:_0x3d28d3[_0x993e('0x56')],'AttachmentId':_0x3d28d3['AttachmentId']},client9002);})[_0x993e('0x22')](respondWithResult(_0x416bcd,0xc9))['catch'](handleError(_0x416bcd,null));};exports['download']=function(_0x54b22c,_0x551922){var _0x23b2a9=path[_0x993e('0x7c')](config[_0x993e('0x7d')],_0x993e('0x7e'),_0x993e('0x7f'),_0x993e('0x80'));return db[_0x993e('0x3b')][_0x993e('0x52')]({'where':{'id':_0x54b22c[_0x993e('0x50')]['id']},'include':[{'model':db['Attachment'],'as':_0x993e('0x81')}]})['then'](handleEntityNotFound(_0x551922,null))[_0x993e('0x22')](function(_0x19ab71){if(_0x19ab71){return _0x551922[_0x993e('0x82')](path[_0x993e('0x7c')](_0x23b2a9,_0x19ab71[_0x993e('0x81')][_0x993e('0x7b')]));}})[_0x993e('0x2c')](handleError(_0x551922,null));};