eb0e76f8d329bee0bede4790c6e37d81bb064974
[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 _0x9def=['jayson/promise','client','http','test','Sequelize','ValidationError','request','then','FaxMessage,\x20%s,\x20%s','request\x20sent','debug','FaxMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','status','json','count','offset','limit','set','Content-Range','apply','update','destroy','end','sendStatus','stack','name','index','map','FaxMessage','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','include','rows','catch','show','params','find','body','describe','fax-interactions','accept','fax','read','readAt','format','UserId','user','CmContact','Contact','FaxInteraction','FaxInteractionId','isNil','read1stAt','YYYY-MM-DD\x20HH:mm:ss','interaction','get','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','manual','interface','channel','event','EventManager','acceptmessage','reject','agent','[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','SIP/%s','rejectmessage','create','Attachment','findOne','SendFax','FaxAccountId','basename','AttachmentId','join','server','files','attachments','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./faxMessage.socket'];(function(_0x3e51c8,_0xf03af8){var _0x3a96a4=function(_0x2d13ba){while(--_0x2d13ba){_0x3e51c8['push'](_0x3e51c8['shift']());}};_0x3a96a4(++_0xf03af8);}(_0x9def,0x17c));var _0xf9de=function(_0x5873d4,_0x3667f5){_0x5873d4=_0x5873d4-0x0;var _0x596e07=_0x9def[_0x5873d4];return _0x596e07;};'use strict';var pdf=require(_0xf9de('0x0'));var emlformat=require(_0xf9de('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xf9de('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf9de('0x3'));var moment=require(_0xf9de('0x4'));var BPromise=require(_0xf9de('0x5'));var Mustache=require(_0xf9de('0x6'));var util=require(_0xf9de('0x7'));var path=require(_0xf9de('0x8'));var sox=require('sox');var csv=require(_0xf9de('0x9'));var ejs=require(_0xf9de('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xf9de('0xb'));var jsforce=require(_0xf9de('0xc'));var deskjs=require(_0xf9de('0xd'));var toCsv=require(_0xf9de('0x9'));var querystring=require(_0xf9de('0xe'));var Papa=require(_0xf9de('0xf'));var Redis=require(_0xf9de('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xf9de('0x11'));var as=require(_0xf9de('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf9de('0x13'))(_0xf9de('0x14'));var utils=require('../../config/utils');var config=require(_0xf9de('0x15'));var db=require(_0xf9de('0x16'))['db'];config['redis']=_[_0xf9de('0x17')](config[_0xf9de('0x18')],{'host':_0xf9de('0x19'),'port':0x18eb});var socket=require(_0xf9de('0x1a'))(new Redis(config[_0xf9de('0x18')]));require(_0xf9de('0x1b'))['register'](socket);var jayson=require(_0xf9de('0x1c'));var client=jayson[_0xf9de('0x1d')][_0xf9de('0x1e')]({'port':0x232c});var client9002=jayson['client']['http']({'port':0x232a});function checkPasswordPattern(_0x5abde8,_0xbfd8f1,_0x540218){if(_0x540218){var _0x5d3c16=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x5d3c16[_0xf9de('0x1f')](_0xbfd8f1)){return _0x5abde8;}else{throw new db[(_0xf9de('0x20'))][(_0xf9de('0x21'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x5abde8;}}function respondWithRpcPromise(_0x156625,_0x3db143,_0x431777,_0x865cc8){return new BPromise(function(_0x30e8bc,_0x9bcb83){var _0x282152=_0x865cc8||client;return _0x282152[_0xf9de('0x22')](_0x156625,_0x431777)[_0xf9de('0x23')](function(_0x29026c){logger['info'](_0xf9de('0x24'),_0x3db143,_0xf9de('0x25'));logger[_0xf9de('0x26')](_0xf9de('0x27'),_0x3db143,_0xf9de('0x25'),JSON[_0xf9de('0x28')](_0x29026c));if(_0x29026c[_0xf9de('0x29')]){if(_0x29026c[_0xf9de('0x29')][_0xf9de('0x2a')]===0x1f4){logger['error'](_0xf9de('0x24'),_0x3db143,_0x29026c['error']['message']);return _0x9bcb83(_0x29026c[_0xf9de('0x29')][_0xf9de('0x2b')]);}logger[_0xf9de('0x29')](_0xf9de('0x24'),_0x3db143,_0x29026c[_0xf9de('0x29')]['message']);return _0x30e8bc(_0x29026c[_0xf9de('0x29')][_0xf9de('0x2b')]);}else{logger[_0xf9de('0x2c')]('FaxMessage,\x20%s,\x20%s',_0x3db143,_0xf9de('0x25'));_0x30e8bc(_0x29026c['result'][_0xf9de('0x2b')]);}})['catch'](function(_0x17d911){logger[_0xf9de('0x29')](_0xf9de('0x24'),_0x3db143,_0x17d911);_0x9bcb83(_0x17d911);});});}function respondWithStatusCode(_0x2d819b,_0x37a9ec){_0x37a9ec=_0x37a9ec||0xcc;return function(_0x51ed59){if(_0x51ed59){return _0x2d819b['sendStatus'](_0x37a9ec);}return _0x2d819b[_0xf9de('0x2d')](_0x37a9ec)['end']();};}function respondWithResult(_0xa46d4a,_0x215560){_0x215560=_0x215560||0xc8;return function(_0x27af19){if(_0x27af19){return _0xa46d4a[_0xf9de('0x2d')](_0x215560)[_0xf9de('0x2e')](_0x27af19);}};}function respondWithFilteredResult(_0x1d2f3c,_0x2bf867){return function(_0x68612){if(_0x68612){var _0x402ed7=_0x68612[_0xf9de('0x2f')],_0x3e53c9=_0x2bf867[_0xf9de('0x30')],_0x112312=_0x2bf867['offset']+_0x2bf867[_0xf9de('0x31')],_0x389eae;if(_0x112312>=_0x402ed7){_0x112312=_0x402ed7;_0x389eae=0xc8;}else{_0x389eae=0xce;}_0x1d2f3c[_0xf9de('0x2d')](_0x389eae);return _0x1d2f3c[_0xf9de('0x32')](_0xf9de('0x33'),_0x3e53c9+'-'+_0x112312+'/'+_0x402ed7)[_0xf9de('0x2e')](_0x68612);}return null;};}function patchUpdates(_0x2aa9d6){return function(_0x562407){try{jsonpatch[_0xf9de('0x34')](_0x562407,_0x2aa9d6,!![]);}catch(_0x5f2c43){return BPromise['reject'](_0x5f2c43);}return _0x562407['save']();};}function saveUpdates(_0x279484,_0x3ba24d){return function(_0x6811ce){if(_0x6811ce){return _0x6811ce[_0xf9de('0x35')](_0x279484)[_0xf9de('0x23')](function(_0x4705c9){return _0x4705c9;});}return null;};}function removeEntity(_0x51db4c,_0x4c840d){return function(_0x205625){if(_0x205625){return _0x205625[_0xf9de('0x36')]()[_0xf9de('0x23')](function(){_0x51db4c[_0xf9de('0x2d')](0xcc)[_0xf9de('0x37')]();});}};}function handleEntityNotFound(_0x3c06b6,_0x18b8e1){return function(_0x32ad62){if(!_0x32ad62){_0x3c06b6[_0xf9de('0x38')](0x194);}return _0x32ad62;};}function handleError(_0x456133,_0x5b66de){_0x5b66de=_0x5b66de||0x1f4;return function(_0x2ad1d0){logger[_0xf9de('0x29')](_0x2ad1d0[_0xf9de('0x39')]);if(_0x2ad1d0[_0xf9de('0x3a')]){delete _0x2ad1d0[_0xf9de('0x3a')];}_0x456133[_0xf9de('0x2d')](_0x5b66de)['send'](_0x2ad1d0);};}exports[_0xf9de('0x3b')]=function(_0x39f8e7,_0x9e2889){var _0x207a5a={},_0x186909={},_0x2767e3={'count':0x0,'rows':[]};var _0x5c867d=_[_0xf9de('0x3c')](db[_0xf9de('0x3d')][_0xf9de('0x3e')],function(_0x2db251){return{'name':_0x2db251[_0xf9de('0x3f')],'type':_0x2db251[_0xf9de('0x40')][_0xf9de('0x41')]};});_0x186909['model']=_[_0xf9de('0x3c')](_0x5c867d,_0xf9de('0x3a'));_0x186909[_0xf9de('0x42')]=_[_0xf9de('0x43')](_0x39f8e7['query']);_0x186909[_0xf9de('0x44')]=_[_0xf9de('0x45')](_0x186909[_0xf9de('0x46')],_0x186909['query']);_0x207a5a[_0xf9de('0x47')]=_[_0xf9de('0x45')](_0x186909[_0xf9de('0x46')],qs[_0xf9de('0x48')](_0x39f8e7[_0xf9de('0x42')][_0xf9de('0x48')]));_0x207a5a[_0xf9de('0x47')]=_0x207a5a[_0xf9de('0x47')]['length']?_0x207a5a[_0xf9de('0x47')]:_0x186909['model'];if(!_0x39f8e7[_0xf9de('0x42')][_0xf9de('0x49')]('nolimit')){_0x207a5a[_0xf9de('0x31')]=qs[_0xf9de('0x31')](_0x39f8e7[_0xf9de('0x42')][_0xf9de('0x31')]);_0x207a5a['offset']=qs[_0xf9de('0x30')](_0x39f8e7[_0xf9de('0x42')][_0xf9de('0x30')]);}_0x207a5a[_0xf9de('0x4a')]=qs['sort'](_0x39f8e7[_0xf9de('0x42')][_0xf9de('0x4b')]);_0x207a5a[_0xf9de('0x4c')]=qs[_0xf9de('0x44')](_[_0xf9de('0x4d')](_0x39f8e7[_0xf9de('0x42')],_0x186909[_0xf9de('0x44')]),_0x5c867d);if(_0x39f8e7[_0xf9de('0x42')][_0xf9de('0x4e')]){_0x207a5a[_0xf9de('0x4c')]=_[_0xf9de('0x4f')](_0x207a5a[_0xf9de('0x4c')],{'$or':_[_0xf9de('0x3c')](_0x5c867d,function(_0x56a628){if(_0x56a628['type']!==_0xf9de('0x50')){var _0x4d1212={};_0x4d1212[_0x56a628[_0xf9de('0x3a')]]={'$like':'%'+_0x39f8e7[_0xf9de('0x42')][_0xf9de('0x4e')]+'%'};return _0x4d1212;}})});}_0x207a5a=_[_0xf9de('0x4f')]({},_0x207a5a,_0x39f8e7[_0xf9de('0x51')]);var _0x23ba1c={'where':_0x207a5a[_0xf9de('0x4c')]};return db[_0xf9de('0x3d')][_0xf9de('0x2f')](_0x23ba1c)['then'](function(_0x18967a){_0x2767e3['count']=_0x18967a;if(_0x39f8e7[_0xf9de('0x42')]['includeAll']){_0x207a5a[_0xf9de('0x52')]=[{'all':!![]}];}return db[_0xf9de('0x3d')]['findAll'](_0x207a5a);})['then'](function(_0x162d5a){_0x2767e3[_0xf9de('0x53')]=_0x162d5a;return _0x2767e3;})[_0xf9de('0x23')](respondWithFilteredResult(_0x9e2889,_0x207a5a))[_0xf9de('0x54')](handleError(_0x9e2889,null));};exports[_0xf9de('0x55')]=function(_0x58572b,_0x5c046f){var _0xfcba58={'raw':!![],'where':{'id':_0x58572b[_0xf9de('0x56')]['id']}},_0x4d113d={};_0x4d113d[_0xf9de('0x46')]=_[_0xf9de('0x43')](db[_0xf9de('0x3d')][_0xf9de('0x3e')]);_0x4d113d['query']=_[_0xf9de('0x43')](_0x58572b[_0xf9de('0x42')]);_0x4d113d[_0xf9de('0x44')]=_[_0xf9de('0x45')](_0x4d113d[_0xf9de('0x46')],_0x4d113d['query']);_0xfcba58[_0xf9de('0x47')]=_[_0xf9de('0x45')](_0x4d113d[_0xf9de('0x46')],qs[_0xf9de('0x48')](_0x58572b['query'][_0xf9de('0x48')]));_0xfcba58[_0xf9de('0x47')]=_0xfcba58[_0xf9de('0x47')]['length']?_0xfcba58[_0xf9de('0x47')]:_0x4d113d[_0xf9de('0x46')];if(_0x58572b['query']['includeAll']){_0xfcba58[_0xf9de('0x52')]=[{'all':!![]}];}_0xfcba58=_[_0xf9de('0x4f')]({},_0xfcba58,_0x58572b[_0xf9de('0x51')]);return db[_0xf9de('0x3d')][_0xf9de('0x57')](_0xfcba58)[_0xf9de('0x23')](handleEntityNotFound(_0x5c046f,null))[_0xf9de('0x23')](respondWithResult(_0x5c046f,null))[_0xf9de('0x54')](handleError(_0x5c046f,null));};exports[_0xf9de('0x35')]=function(_0x4209c5,_0x37cb20){if(_0x4209c5[_0xf9de('0x58')]['id']){delete _0x4209c5[_0xf9de('0x58')]['id'];}return db[_0xf9de('0x3d')][_0xf9de('0x57')]({'where':{'id':_0x4209c5[_0xf9de('0x56')]['id']}})[_0xf9de('0x23')](handleEntityNotFound(_0x37cb20,null))['then'](saveUpdates(_0x4209c5[_0xf9de('0x58')],null))[_0xf9de('0x23')](respondWithResult(_0x37cb20,null))['catch'](handleError(_0x37cb20,null));};exports[_0xf9de('0x36')]=function(_0x57187e,_0x48c1a9){return db[_0xf9de('0x3d')]['find']({'where':{'id':_0x57187e['params']['id']}})[_0xf9de('0x23')](handleEntityNotFound(_0x48c1a9,null))[_0xf9de('0x23')](removeEntity(_0x48c1a9,null))[_0xf9de('0x54')](handleError(_0x48c1a9,null));};exports[_0xf9de('0x59')]=function(_0x4dccd9,_0x27d131){return db[_0xf9de('0x3d')]['describe']()[_0xf9de('0x23')](respondWithResult(_0x27d131,null))[_0xf9de('0x54')](handleError(_0x27d131,null));};var interaction_log=require(_0xf9de('0x13'))(_0xf9de('0x5a'));exports[_0xf9de('0x5b')]=function(_0x2e3f8e,_0x3aff41,_0x575f21){var _0x2ca7c3={'channel':_0xf9de('0x5c')};if(_0x2e3f8e[_0xf9de('0x58')]['id']){delete _0x2e3f8e[_0xf9de('0x58')]['id'];}_0x2e3f8e[_0xf9de('0x58')][_0xf9de('0x5d')]=!![];_0x2e3f8e[_0xf9de('0x58')][_0xf9de('0x5e')]=moment()[_0xf9de('0x5f')]('YYYY-MM-DD\x20HH:mm:ss');_0x2e3f8e['body'][_0xf9de('0x60')]=_0x2e3f8e[_0xf9de('0x58')]['UserId']||_0x2e3f8e[_0xf9de('0x61')]['id'];return db[_0xf9de('0x3d')][_0xf9de('0x57')]({'where':{'id':_0x2e3f8e[_0xf9de('0x56')]['id'],'UserId':null},'include':[{'model':db[_0xf9de('0x62')],'as':_0xf9de('0x63')}]})[_0xf9de('0x23')](handleEntityNotFound(_0x3aff41,null))['then'](saveUpdates(_0x2e3f8e[_0xf9de('0x58')],null))[_0xf9de('0x23')](function(_0x58f23a){if(_0x58f23a){_0x2ca7c3[_0xf9de('0x2b')]=_0x58f23a['get']({'plain':!![]});return db[_0xf9de('0x64')][_0xf9de('0x57')]({'where':{'id':_0x58f23a[_0xf9de('0x65')]}});}return null;})[_0xf9de('0x23')](handleEntityNotFound(_0x3aff41,null))[_0xf9de('0x23')](function(_0x4f978b){if(_0x4f978b){return _0x4f978b[_0xf9de('0x35')]({'UserId':_0x2e3f8e[_0xf9de('0x58')][_0xf9de('0x60')],'read1stAt':_[_0xf9de('0x66')](_0x4f978b[_0xf9de('0x67')])?moment()['format'](_0xf9de('0x68')):undefined});}return null;})['then'](function(_0x377e21){if(_0x377e21){_0x2ca7c3[_0xf9de('0x69')]=_0x377e21[_0xf9de('0x6a')]({'plain':!![]});interaction_log['info'](_0xf9de('0x6b'),_0x2e3f8e[_0xf9de('0x61')]['id'],_0x2e3f8e[_0xf9de('0x61')][_0xf9de('0x3a')],_0x2e3f8e[_0xf9de('0x61')][_0xf9de('0x6c')],_0x2ca7c3['interaction']['id'],_0x2e3f8e[_0xf9de('0x58')]?JSON['stringify'](_0x2e3f8e[_0xf9de('0x58')]):_0xf9de('0x6d'));return respondWithRpcPromise(_0xf9de('0x6e'),_0xf9de('0x6f'),_0x2ca7c3);}return null;})[_0xf9de('0x23')](function(_0x363278){if(_0x363278){if(_0x2e3f8e[_0xf9de('0x58')][_0xf9de('0x70')]){_0x2ca7c3[_0xf9de('0x2b')][_0xf9de('0x71')]=util[_0xf9de('0x5f')]('SIP/%s',_0x2e3f8e[_0xf9de('0x61')][_0xf9de('0x3a')]);_0x2ca7c3['message']['channel']=_0x2ca7c3[_0xf9de('0x72')];_0x2ca7c3[_0xf9de('0x2b')][_0xf9de('0x73')]=_0xf9de('0x5b');return respondWithRpcPromise(_0xf9de('0x74'),'EventManager',{'event':_0xf9de('0x75'),'message':_0x2ca7c3['message']},client9002)[_0xf9de('0x23')](function(){return _0x2ca7c3;});}return _0x2ca7c3;}return null;})['then'](respondWithResult(_0x3aff41,null))[_0xf9de('0x54')](handleError(_0x3aff41,null));};var interaction_log=require(_0xf9de('0x13'))(_0xf9de('0x5a'));exports[_0xf9de('0x76')]=function(_0x17b50a,_0x448b65,_0x104a30){var _0x4ca554={'agent':{},'channel':_0xf9de('0x5c')};if(_0x17b50a[_0xf9de('0x58')]['id']){delete _0x17b50a[_0xf9de('0x58')]['id'];}_0x17b50a[_0xf9de('0x58')][_0xf9de('0x60')]=_0x17b50a[_0xf9de('0x58')]['UserId']||_0x17b50a[_0xf9de('0x61')]['id'];_0x4ca554[_0xf9de('0x77')]['id']=_0x17b50a[_0xf9de('0x58')][_0xf9de('0x60')];return db[_0xf9de('0x3d')][_0xf9de('0x57')]({'where':{'id':_0x17b50a[_0xf9de('0x56')]['id'],'UserId':null}})[_0xf9de('0x23')](handleEntityNotFound(_0x448b65,null))[_0xf9de('0x23')](function(_0x33124f){if(_0x33124f){_0x4ca554[_0xf9de('0x2b')]=_0x33124f['get']({'plain':!![]});return db['FaxInteraction'][_0xf9de('0x57')]({'where':{'id':_0x33124f[_0xf9de('0x65')]}});}return null;})['then'](handleEntityNotFound(_0x448b65,null))[_0xf9de('0x23')](function(_0x732d5){if(_0x732d5){_0x4ca554['interaction']=_0x732d5['get']({'plain':!![]});interaction_log[_0xf9de('0x2c')](_0xf9de('0x78'),_0x17b50a[_0xf9de('0x61')]['id'],_0x17b50a[_0xf9de('0x61')]['name'],_0x17b50a[_0xf9de('0x61')][_0xf9de('0x6c')],_0x4ca554[_0xf9de('0x69')]['id'],_0x17b50a['body']?JSON[_0xf9de('0x28')](_0x17b50a['body']):_0xf9de('0x6d'));return respondWithRpcPromise(_0xf9de('0x79'),_0xf9de('0x7a'),_0x4ca554);}return null;})[_0xf9de('0x23')](function(_0x1da4d5){if(_0x1da4d5){_0x1da4d5[_0xf9de('0x2b')]['interface']=util[_0xf9de('0x5f')](_0xf9de('0x7b'),_0x17b50a['user'][_0xf9de('0x3a')]);_0x1da4d5[_0xf9de('0x2b')][_0xf9de('0x72')]=_0x4ca554['channel'];_0x1da4d5[_0xf9de('0x2b')][_0xf9de('0x73')]=_0xf9de('0x76');respondWithRpcPromise(_0xf9de('0x74'),_0xf9de('0x74'),{'event':_0xf9de('0x7c'),'message':_0x1da4d5[_0xf9de('0x2b')]},client9002);return _0x4ca554;}return null;})[_0xf9de('0x23')](respondWithResult(_0x448b65,null))[_0xf9de('0x54')](handleError(_0x448b65,null));};exports['create']=function(_0x55b1fb,_0x5ee624){var _0x3b8117;return db[_0xf9de('0x3d')][_0xf9de('0x7d')](_0x55b1fb[_0xf9de('0x58')],{})[_0xf9de('0x23')](function(_0x22b4ec){_0x3b8117=_0x22b4ec;return db[_0xf9de('0x62')]['findOne']({'where':{'id':_0x3b8117['ContactId']}});})[_0xf9de('0x23')](function(_0x48f71f){if(_[_0xf9de('0x66')](_0x48f71f)){return;}else{_0x3b8117[_0xf9de('0x5c')]=_0x48f71f['fax'];return db[_0xf9de('0x7e')][_0xf9de('0x7f')]({'where':{'id':_0x3b8117['AttachmentId']}});}})[_0xf9de('0x23')](function(_0x5c8b21){return respondWithRpcPromise(_0xf9de('0x80'),_0xf9de('0x80'),{'FaxAccountId':_[_0xf9de('0x66')](_0x55b1fb['body'])?undefined:_0x55b1fb[_0xf9de('0x58')][_0xf9de('0x81')],'path':_['isNil'](_0x5c8b21)?undefined:util[_0xf9de('0x5f')]('/var/opt/motion2/server/files/attachments/%s',_0x5c8b21[_0xf9de('0x82')]),'fax':_[_0xf9de('0x66')](_0x3b8117[_0xf9de('0x5c')])?undefined:_0x3b8117[_0xf9de('0x5c')],'AttachmentId':_0x3b8117[_0xf9de('0x83')]},client9002);})[_0xf9de('0x23')](respondWithResult(_0x5ee624,0xc9))[_0xf9de('0x54')](handleError(_0x5ee624,null));};exports['download']=function(_0x5e8692,_0x59622d){var _0xb16ab7=path[_0xf9de('0x84')](config['root'],_0xf9de('0x85'),_0xf9de('0x86'),_0xf9de('0x87'));return db['FaxMessage'][_0xf9de('0x57')]({'where':{'id':_0x5e8692[_0xf9de('0x56')]['id']},'include':[{'model':db['Attachment'],'as':_0xf9de('0x7e')}]})[_0xf9de('0x23')](handleEntityNotFound(_0x59622d,null))[_0xf9de('0x23')](function(_0xbb822d){if(_0xbb822d){return _0x59622d['download'](path['join'](_0xb16ab7,_0xbb822d[_0xf9de('0x7e')][_0xf9de('0x82')]));}})[_0xf9de('0x54')](handleError(_0x59622d,null));};