Built motion from commit (unavailable).|2.5.30
[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 _0x47ef=['key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','findAll','show','rawAttributes','fields','find','update','body','params','describe','../../config/logger','fax-interactions','accept','fax','read','readAt','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','Contact','FaxInteraction','FaxInteractionId','isNil','interaction','get','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','interface','channel','event','EventManager','RejectMessage','rejectMessage','SIP/%s','rejectmessage','create','CmContact','findOne','ContactId','Attachment','AttachmentId','SendFax','/var/opt/motion2/server/files/attachments/%s','download','join','root','server','files','basename','eml-format','rimraf','zip-dir','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','register','client','http','info','FaxMessage,\x20%s,\x20%s','debug','FaxMessage,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','catch','sendStatus','json','offset','undefined','count','limit','status','set','Content-Range','reject','save','then','destroy','stack','name','send','index','map','FaxMessage','type'];(function(_0x2f9969,_0xe3d64c){var _0x228898=function(_0x32b3ad){while(--_0x32b3ad){_0x2f9969['push'](_0x2f9969['shift']());}};_0x228898(++_0xe3d64c);}(_0x47ef,0x14d));var _0xf47e=function(_0x553701,_0x3c6d5b){_0x553701=_0x553701-0x0;var _0x3607b6=_0x47ef[_0x553701];return _0x3607b6;};'use strict';var emlformat=require(_0xf47e('0x0'));var rimraf=require(_0xf47e('0x1'));var zipdir=require(_0xf47e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf47e('0x3'));var moment=require(_0xf47e('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf47e('0x5'));var path=require(_0xf47e('0x6'));var sox=require(_0xf47e('0x7'));var csv=require(_0xf47e('0x8'));var ejs=require(_0xf47e('0x9'));var fs=require('fs');var fs_extra=require(_0xf47e('0xa'));var _=require(_0xf47e('0xb'));var squel=require('squel');var crypto=require(_0xf47e('0xc'));var jsforce=require(_0xf47e('0xd'));var deskjs=require(_0xf47e('0xe'));var toCsv=require(_0xf47e('0x8'));var querystring=require(_0xf47e('0xf'));var Papa=require('papaparse');var Redis=require(_0xf47e('0x10'));var authService=require(_0xf47e('0x11'));var qs=require(_0xf47e('0x12'));var as=require(_0xf47e('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xf47e('0x14'));var utils=require(_0xf47e('0x15'));var config=require(_0xf47e('0x16'));var licenseUtil=require(_0xf47e('0x17'));var db=require(_0xf47e('0x18'))['db'];config[_0xf47e('0x19')]=_[_0xf47e('0x1a')](config[_0xf47e('0x19')],{'host':_0xf47e('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./faxMessage.socket')[_0xf47e('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson[_0xf47e('0x1d')][_0xf47e('0x1e')]({'port':0x232c});var client9002=jayson[_0xf47e('0x1d')][_0xf47e('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x585dab,_0x1d2dea,_0x3928eb,_0x787b0b){return new BPromise(function(_0x43369e,_0x455cd9){var _0xe7325e=_0x787b0b||client;return _0xe7325e['request'](_0x585dab,_0x3928eb)['then'](function(_0x5c6e5a){logger[_0xf47e('0x1f')](_0xf47e('0x20'),_0x1d2dea,'request\x20sent');logger[_0xf47e('0x21')](_0xf47e('0x22'),_0x1d2dea,_0xf47e('0x23'),JSON[_0xf47e('0x24')](_0x5c6e5a));if(_0x5c6e5a[_0xf47e('0x25')]){if(_0x5c6e5a[_0xf47e('0x25')]['code']===0x1f4){logger[_0xf47e('0x25')]('FaxMessage,\x20%s,\x20%s',_0x1d2dea,_0x5c6e5a[_0xf47e('0x25')]['message']);return _0x455cd9(_0x5c6e5a[_0xf47e('0x25')][_0xf47e('0x26')]);}logger[_0xf47e('0x25')](_0xf47e('0x20'),_0x1d2dea,_0x5c6e5a[_0xf47e('0x25')]['message']);return _0x43369e(_0x5c6e5a['error']['message']);}else{logger[_0xf47e('0x1f')](_0xf47e('0x20'),_0x1d2dea,'request\x20sent');_0x43369e(_0x5c6e5a['result'][_0xf47e('0x26')]);}})[_0xf47e('0x27')](function(_0x11d0f3){logger['error']('FaxMessage,\x20%s,\x20%s',_0x1d2dea,_0x11d0f3);_0x455cd9(_0x11d0f3);});});}function respondWithStatusCode(_0x432a6b,_0x264466){_0x264466=_0x264466||0xcc;return function(_0x22cb91){if(_0x22cb91){return _0x432a6b[_0xf47e('0x28')](_0x264466);}return _0x432a6b['status'](_0x264466)['end']();};}function respondWithResult(_0x4b5615,_0x290dcd){_0x290dcd=_0x290dcd||0xc8;return function(_0x1e3363){if(_0x1e3363){return _0x4b5615['status'](_0x290dcd)[_0xf47e('0x29')](_0x1e3363);}};}function respondWithFilteredResult(_0x38e962,_0x41354f){return function(_0x56b303){if(_0x56b303){var _0x4b7052=typeof _0x41354f[_0xf47e('0x2a')]==='undefined'&&typeof _0x41354f['limit']===_0xf47e('0x2b');var _0x57f83e=_0x56b303[_0xf47e('0x2c')];var _0x27d206=_0x4b7052?0x0:_0x41354f['offset'];var _0x2da733=_0x4b7052?_0x56b303[_0xf47e('0x2c')]:_0x41354f['offset']+_0x41354f[_0xf47e('0x2d')];var _0x31500b;if(_0x2da733>=_0x57f83e){_0x2da733=_0x57f83e;_0x31500b=0xc8;}else{_0x31500b=0xce;}_0x38e962[_0xf47e('0x2e')](_0x31500b);return _0x38e962[_0xf47e('0x2f')](_0xf47e('0x30'),_0x27d206+'-'+_0x2da733+'/'+_0x57f83e)[_0xf47e('0x29')](_0x56b303);}return null;};}function patchUpdates(_0x49268c){return function(_0x1d5e0d){try{jsonpatch['apply'](_0x1d5e0d,_0x49268c,!![]);}catch(_0x1ff272){return BPromise[_0xf47e('0x31')](_0x1ff272);}return _0x1d5e0d[_0xf47e('0x32')]();};}function saveUpdates(_0x453a38,_0x5a2ad9){return function(_0x3ff03e){if(_0x3ff03e){return _0x3ff03e['update'](_0x453a38)[_0xf47e('0x33')](function(_0x105e9d){return _0x105e9d;});}return null;};}function removeEntity(_0x4baeed,_0x204144){return function(_0x5f1d20){if(_0x5f1d20){return _0x5f1d20[_0xf47e('0x34')]()['then'](function(){_0x4baeed['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3da045,_0x50f1cb){return function(_0x10fe6b){if(!_0x10fe6b){_0x3da045[_0xf47e('0x28')](0x194);}return _0x10fe6b;};}function handleError(_0x57afd5,_0x4a0a85){_0x4a0a85=_0x4a0a85||0x1f4;return function(_0x532f16){logger[_0xf47e('0x25')](_0x532f16[_0xf47e('0x35')]);if(_0x532f16[_0xf47e('0x36')]){delete _0x532f16[_0xf47e('0x36')];}_0x57afd5[_0xf47e('0x2e')](_0x4a0a85)[_0xf47e('0x37')](_0x532f16);};}exports[_0xf47e('0x38')]=function(_0x3bb60a,_0x2e7aae){var _0xe8bf36={},_0x2abdad={},_0x2a2b34={'count':0x0,'rows':[]};var _0x1c2231=_[_0xf47e('0x39')](db[_0xf47e('0x3a')]['rawAttributes'],function(_0xc312de){return{'name':_0xc312de['fieldName'],'type':_0xc312de[_0xf47e('0x3b')][_0xf47e('0x3c')]};});_0x2abdad[_0xf47e('0x3d')]=_[_0xf47e('0x39')](_0x1c2231,_0xf47e('0x36'));_0x2abdad[_0xf47e('0x3e')]=_[_0xf47e('0x3f')](_0x3bb60a[_0xf47e('0x3e')]);_0x2abdad[_0xf47e('0x40')]=_[_0xf47e('0x41')](_0x2abdad[_0xf47e('0x3d')],_0x2abdad[_0xf47e('0x3e')]);_0xe8bf36[_0xf47e('0x42')]=_[_0xf47e('0x41')](_0x2abdad['model'],qs['fields'](_0x3bb60a[_0xf47e('0x3e')]['fields']));_0xe8bf36[_0xf47e('0x42')]=_0xe8bf36[_0xf47e('0x42')][_0xf47e('0x43')]?_0xe8bf36[_0xf47e('0x42')]:_0x2abdad[_0xf47e('0x3d')];if(!_0x3bb60a['query'][_0xf47e('0x44')]('nolimit')){_0xe8bf36[_0xf47e('0x2d')]=qs['limit'](_0x3bb60a[_0xf47e('0x3e')][_0xf47e('0x2d')]);_0xe8bf36[_0xf47e('0x2a')]=qs[_0xf47e('0x2a')](_0x3bb60a['query'][_0xf47e('0x2a')]);}_0xe8bf36[_0xf47e('0x45')]=qs['sort'](_0x3bb60a[_0xf47e('0x3e')][_0xf47e('0x46')]);_0xe8bf36['where']=qs[_0xf47e('0x40')](_[_0xf47e('0x47')](_0x3bb60a[_0xf47e('0x3e')],_0x2abdad[_0xf47e('0x40')]),_0x1c2231);if(_0x3bb60a[_0xf47e('0x3e')][_0xf47e('0x48')]){_0xe8bf36[_0xf47e('0x49')]=_['merge'](_0xe8bf36[_0xf47e('0x49')],{'$or':_[_0xf47e('0x39')](_0x1c2231,function(_0x3f4e59){if(_0x3f4e59[_0xf47e('0x3b')]!==_0xf47e('0x4a')){var _0x17005c={};_0x17005c[_0x3f4e59[_0xf47e('0x36')]]={'$like':'%'+_0x3bb60a[_0xf47e('0x3e')][_0xf47e('0x48')]+'%'};return _0x17005c;}})});}_0xe8bf36=_[_0xf47e('0x4b')]({},_0xe8bf36,_0x3bb60a[_0xf47e('0x4c')]);var _0x387a5e={'where':_0xe8bf36[_0xf47e('0x49')]};return db[_0xf47e('0x3a')][_0xf47e('0x2c')](_0x387a5e)[_0xf47e('0x33')](function(_0x1f0719){_0x2a2b34[_0xf47e('0x2c')]=_0x1f0719;if(_0x3bb60a['query'][_0xf47e('0x4d')]){_0xe8bf36['include']=[{'all':!![]}];}return db[_0xf47e('0x3a')][_0xf47e('0x4e')](_0xe8bf36);})['then'](function(_0x5ec507){_0x2a2b34['rows']=_0x5ec507;return _0x2a2b34;})[_0xf47e('0x33')](respondWithFilteredResult(_0x2e7aae,_0xe8bf36))[_0xf47e('0x27')](handleError(_0x2e7aae,null));};exports[_0xf47e('0x4f')]=function(_0x345494,_0x7083f7){var _0x2ef67f={'raw':!![],'where':{'id':_0x345494['params']['id']}},_0x52ebea={};_0x52ebea[_0xf47e('0x3d')]=_[_0xf47e('0x3f')](db[_0xf47e('0x3a')][_0xf47e('0x50')]);_0x52ebea[_0xf47e('0x3e')]=_[_0xf47e('0x3f')](_0x345494[_0xf47e('0x3e')]);_0x52ebea['filters']=_[_0xf47e('0x41')](_0x52ebea[_0xf47e('0x3d')],_0x52ebea['query']);_0x2ef67f['attributes']=_[_0xf47e('0x41')](_0x52ebea[_0xf47e('0x3d')],qs[_0xf47e('0x51')](_0x345494['query'][_0xf47e('0x51')]));_0x2ef67f['attributes']=_0x2ef67f[_0xf47e('0x42')][_0xf47e('0x43')]?_0x2ef67f[_0xf47e('0x42')]:_0x52ebea['model'];if(_0x345494[_0xf47e('0x3e')][_0xf47e('0x4d')]){_0x2ef67f['include']=[{'all':!![]}];}_0x2ef67f=_[_0xf47e('0x4b')]({},_0x2ef67f,_0x345494[_0xf47e('0x4c')]);return db[_0xf47e('0x3a')][_0xf47e('0x52')](_0x2ef67f)[_0xf47e('0x33')](handleEntityNotFound(_0x7083f7,null))['then'](respondWithResult(_0x7083f7,null))['catch'](handleError(_0x7083f7,null));};exports[_0xf47e('0x53')]=function(_0x2f524c,_0x27c308){if(_0x2f524c[_0xf47e('0x54')]['id']){delete _0x2f524c[_0xf47e('0x54')]['id'];}return db['FaxMessage'][_0xf47e('0x52')]({'where':{'id':_0x2f524c[_0xf47e('0x55')]['id']}})[_0xf47e('0x33')](handleEntityNotFound(_0x27c308,null))['then'](saveUpdates(_0x2f524c[_0xf47e('0x54')],null))[_0xf47e('0x33')](respondWithResult(_0x27c308,null))[_0xf47e('0x27')](handleError(_0x27c308,null));};exports['destroy']=function(_0x397062,_0x1e203f){return db[_0xf47e('0x3a')][_0xf47e('0x52')]({'where':{'id':_0x397062[_0xf47e('0x55')]['id']}})[_0xf47e('0x33')](handleEntityNotFound(_0x1e203f,null))['then'](removeEntity(_0x1e203f,null))[_0xf47e('0x27')](handleError(_0x1e203f,null));};exports[_0xf47e('0x56')]=function(_0x190530,_0x19dff0){return db['FaxMessage'][_0xf47e('0x56')]()['then'](respondWithResult(_0x19dff0,null))[_0xf47e('0x27')](handleError(_0x19dff0,null));};var interaction_log=require(_0xf47e('0x57'))(_0xf47e('0x58'));exports[_0xf47e('0x59')]=function(_0xe5a26b,_0x4759c1,_0x3fe9fb){var _0x4b0f2b={'agent':{},'channel':_0xf47e('0x5a')};if(_0xe5a26b[_0xf47e('0x54')]['id']){delete _0xe5a26b[_0xf47e('0x54')]['id'];}_0xe5a26b[_0xf47e('0x54')][_0xf47e('0x5b')]=!![];_0xe5a26b[_0xf47e('0x54')][_0xf47e('0x5c')]=moment()[_0xf47e('0x5d')](_0xf47e('0x5e'));_0xe5a26b[_0xf47e('0x54')][_0xf47e('0x5f')]=_0xe5a26b[_0xf47e('0x54')][_0xf47e('0x5f')]||_0xe5a26b[_0xf47e('0x60')]['id'];_0x4b0f2b[_0xf47e('0x61')]['id']=_0xe5a26b[_0xf47e('0x54')][_0xf47e('0x5f')];return db[_0xf47e('0x3a')][_0xf47e('0x52')]({'where':{'id':_0xe5a26b[_0xf47e('0x55')]['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':_0xf47e('0x62')}]})[_0xf47e('0x33')](handleEntityNotFound(_0x4759c1,null))[_0xf47e('0x33')](saveUpdates(_0xe5a26b[_0xf47e('0x54')],null))[_0xf47e('0x33')](function(_0x5c8de3){if(_0x5c8de3){_0x4b0f2b[_0xf47e('0x26')]=_0x5c8de3['get']({'plain':!![]});return db[_0xf47e('0x63')][_0xf47e('0x52')]({'where':{'id':_0x5c8de3[_0xf47e('0x64')]}});}return null;})[_0xf47e('0x33')](handleEntityNotFound(_0x4759c1,null))[_0xf47e('0x33')](function(_0x334e14){if(_0x334e14){return _0x334e14[_0xf47e('0x53')]({'UserId':_0xe5a26b[_0xf47e('0x54')][_0xf47e('0x5f')],'read1stAt':_[_0xf47e('0x65')](_0x334e14['read1stAt'])?moment()[_0xf47e('0x5d')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0xf47e('0x33')](function(_0x4e84f1){if(_0x4e84f1){_0x4b0f2b[_0xf47e('0x66')]=_0x4e84f1[_0xf47e('0x67')]({'plain':!![]});interaction_log[_0xf47e('0x1f')](_0xf47e('0x68'),_0xe5a26b[_0xf47e('0x60')]['id'],_0xe5a26b[_0xf47e('0x60')][_0xf47e('0x36')],_0xe5a26b[_0xf47e('0x60')][_0xf47e('0x69')],_0x4b0f2b['interaction']['id'],_0xe5a26b[_0xf47e('0x54')]?JSON[_0xf47e('0x24')](_0xe5a26b['body']):_0xf47e('0x6a'));return respondWithRpcPromise(_0xf47e('0x6b'),_0xf47e('0x6c'),_0x4b0f2b);}return null;})[_0xf47e('0x33')](function(_0x473c73){if(_0x473c73){if(_0xe5a26b['body']['manual']){_0x4b0f2b[_0xf47e('0x26')][_0xf47e('0x6d')]=util[_0xf47e('0x5d')]('SIP/%s',_0xe5a26b[_0xf47e('0x60')][_0xf47e('0x36')]);_0x4b0f2b[_0xf47e('0x26')][_0xf47e('0x6e')]=_0x4b0f2b[_0xf47e('0x6e')];_0x4b0f2b[_0xf47e('0x26')][_0xf47e('0x6f')]=_0xf47e('0x59');return respondWithRpcPromise(_0xf47e('0x70'),_0xf47e('0x70'),{'event':'acceptmessage','message':_0x4b0f2b[_0xf47e('0x26')]},client9002)[_0xf47e('0x33')](function(){return _0x4b0f2b;});}return _0x4b0f2b;}return null;})[_0xf47e('0x33')](respondWithResult(_0x4759c1,null))[_0xf47e('0x27')](handleError(_0x4759c1,null));};var interaction_log=require('../../config/logger')('fax-interactions');exports[_0xf47e('0x31')]=function(_0x3c34b5,_0x3e1c59,_0x2d67e7){var _0x10a849={'agent':{},'channel':'fax'};if(_0x3c34b5[_0xf47e('0x54')]['id']){delete _0x3c34b5[_0xf47e('0x54')]['id'];}_0x3c34b5['body'][_0xf47e('0x5f')]=_0x3c34b5['body'][_0xf47e('0x5f')]||_0x3c34b5['user']['id'];_0x10a849['agent']['id']=_0x3c34b5[_0xf47e('0x54')][_0xf47e('0x5f')];return db[_0xf47e('0x3a')]['find']({'where':{'id':_0x3c34b5[_0xf47e('0x55')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x3e1c59,null))[_0xf47e('0x33')](function(_0x49bef1){if(_0x49bef1){_0x10a849[_0xf47e('0x26')]=_0x49bef1[_0xf47e('0x67')]({'plain':!![]});return db['FaxInteraction']['find']({'where':{'id':_0x49bef1[_0xf47e('0x64')]}});}return null;})[_0xf47e('0x33')](handleEntityNotFound(_0x3e1c59,null))[_0xf47e('0x33')](function(_0x381916){if(_0x381916){_0x10a849[_0xf47e('0x66')]=_0x381916['get']({'plain':!![]});interaction_log[_0xf47e('0x1f')]('[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x3c34b5[_0xf47e('0x60')]['id'],_0x3c34b5[_0xf47e('0x60')][_0xf47e('0x36')],_0x3c34b5[_0xf47e('0x60')][_0xf47e('0x69')],_0x10a849[_0xf47e('0x66')]['id'],_0x3c34b5[_0xf47e('0x54')]?JSON[_0xf47e('0x24')](_0x3c34b5[_0xf47e('0x54')]):_0xf47e('0x6a'));return respondWithRpcPromise(_0xf47e('0x71'),_0xf47e('0x72'),_0x10a849);}return null;})[_0xf47e('0x33')](function(_0x10998e){if(_0x10998e){_0x10998e[_0xf47e('0x26')]['interface']=util[_0xf47e('0x5d')](_0xf47e('0x73'),_0x3c34b5['user'][_0xf47e('0x36')]);_0x10998e[_0xf47e('0x26')]['channel']=_0x10a849[_0xf47e('0x6e')];_0x10998e[_0xf47e('0x26')][_0xf47e('0x6f')]=_0xf47e('0x31');respondWithRpcPromise(_0xf47e('0x70'),'EventManager',{'event':_0xf47e('0x74'),'message':_0x10998e[_0xf47e('0x26')]},client9002);return _0x10a849;}return null;})[_0xf47e('0x33')](respondWithResult(_0x3e1c59,null))['catch'](handleError(_0x3e1c59,null));};exports[_0xf47e('0x75')]=function(_0x48be84,_0x57b0df){var _0x5e483d;return db[_0xf47e('0x3a')][_0xf47e('0x75')](_0x48be84['body'],{})[_0xf47e('0x33')](function(_0x13c921){_0x5e483d=_0x13c921;return db[_0xf47e('0x76')][_0xf47e('0x77')]({'where':{'id':_0x5e483d[_0xf47e('0x78')]}});})['then'](function(_0x35bdf1){if(_['isNil'](_0x35bdf1)){return;}else{_0x5e483d[_0xf47e('0x5a')]=_0x35bdf1['fax'];return db[_0xf47e('0x79')][_0xf47e('0x77')]({'where':{'id':_0x5e483d[_0xf47e('0x7a')]}});}})[_0xf47e('0x33')](function(_0x1cfb21){return respondWithRpcPromise(_0xf47e('0x7b'),'SendFax',{'FaxAccountId':_['isNil'](_0x48be84[_0xf47e('0x54')])?undefined:_0x48be84['body']['FaxAccountId'],'path':_['isNil'](_0x1cfb21)?undefined:util[_0xf47e('0x5d')](_0xf47e('0x7c'),_0x1cfb21['basename']),'fax':_[_0xf47e('0x65')](_0x5e483d['fax'])?undefined:_0x5e483d[_0xf47e('0x5a')],'AttachmentId':_0x5e483d['AttachmentId']},client9002);})[_0xf47e('0x33')](respondWithResult(_0x57b0df,0xc9))['catch'](handleError(_0x57b0df,null));};exports[_0xf47e('0x7d')]=function(_0x3dd639,_0x1cf624){var _0x3b2410=path[_0xf47e('0x7e')](config[_0xf47e('0x7f')],_0xf47e('0x80'),_0xf47e('0x81'),'attachments');return db[_0xf47e('0x3a')][_0xf47e('0x52')]({'where':{'id':_0x3dd639[_0xf47e('0x55')]['id']},'include':[{'model':db[_0xf47e('0x79')],'as':_0xf47e('0x79')}]})['then'](handleEntityNotFound(_0x1cf624,null))[_0xf47e('0x33')](function(_0x2401a4){if(_0x2401a4){return _0x1cf624['download'](path[_0xf47e('0x7e')](_0x3b2410,_0x2401a4[_0xf47e('0x79')][_0xf47e('0x82')]));}})[_0xf47e('0x27')](handleError(_0x1cf624,null));};