Built motion from commit (unavailable).|2.5.29
[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 _0xc093=['request','FaxMessage,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','catch','sendStatus','status','end','offset','undefined','limit','count','apply','reject','save','update','then','destroy','stack','name','index','map','FaxMessage','rawAttributes','type','key','query','keys','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','pick','filters','filter','where','merge','VIRTUAL','options','includeAll','include','show','find','body','params','describe','fax-interactions','read','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','CmContact','Contact','FaxInteraction','FaxInteractionId','isNil','read1stAt','interaction','get','info','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','manual','interface','SIP/%s','event','accept','EventManager','acceptmessage','fax','RejectMessage','rejectMessage','channel','rejectmessage','create','ContactId','Attachment','SendFax','FaxAccountId','basename','AttachmentId','join','root','server','files','attachments','download','request-promise','moment','util','path','to-csv','ejs','lodash','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','./faxMessage.socket','register','jayson/promise','client','http'];(function(_0x96dd6a,_0x208112){var _0x3cc47d=function(_0x3edc70){while(--_0x3edc70){_0x96dd6a['push'](_0x96dd6a['shift']());}};_0x3cc47d(++_0x208112);}(_0xc093,0xda));var _0x3c09=function(_0x40632e,_0x1f7f8f){_0x40632e=_0x40632e-0x0;var _0x3708c4=_0xc093[_0x40632e];return _0x3708c4;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x3c09('0x0'));var moment=require(_0x3c09('0x1'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x3c09('0x2'));var path=require(_0x3c09('0x3'));var sox=require('sox');var csv=require(_0x3c09('0x4'));var ejs=require(_0x3c09('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3c09('0x6'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3c09('0x4'));var querystring=require('querystring');var Papa=require(_0x3c09('0x7'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x3c09('0x8'));var hardwareService=require(_0x3c09('0x9'));var logger=require(_0x3c09('0xa'))(_0x3c09('0xb'));var utils=require(_0x3c09('0xc'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x3c09('0xd'))['db'];config[_0x3c09('0xe')]=_[_0x3c09('0xf')](config['redis'],{'host':_0x3c09('0x10'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x3c09('0xe')]));require(_0x3c09('0x11'))[_0x3c09('0x12')](socket);var jayson=require(_0x3c09('0x13'));var client=jayson[_0x3c09('0x14')][_0x3c09('0x15')]({'port':0x232c});var client9002=jayson['client'][_0x3c09('0x15')]({'port':0x232a});function respondWithRpcPromise(_0x5202bd,_0x8eb51a,_0x1c323e,_0x231239){return new BPromise(function(_0x594a88,_0x45b2c9){var _0xb69fd6=_0x231239||client;return _0xb69fd6[_0x3c09('0x16')](_0x5202bd,_0x1c323e)['then'](function(_0x53dc1c){logger['info'](_0x3c09('0x17'),_0x8eb51a,_0x3c09('0x18'));logger[_0x3c09('0x19')]('FaxMessage,\x20%s,\x20%s,\x20%s',_0x8eb51a,_0x3c09('0x18'),JSON[_0x3c09('0x1a')](_0x53dc1c));if(_0x53dc1c[_0x3c09('0x1b')]){if(_0x53dc1c['error']['code']===0x1f4){logger['error']('FaxMessage,\x20%s,\x20%s',_0x8eb51a,_0x53dc1c[_0x3c09('0x1b')]['message']);return _0x45b2c9(_0x53dc1c['error'][_0x3c09('0x1c')]);}logger['error'](_0x3c09('0x17'),_0x8eb51a,_0x53dc1c[_0x3c09('0x1b')][_0x3c09('0x1c')]);return _0x594a88(_0x53dc1c[_0x3c09('0x1b')][_0x3c09('0x1c')]);}else{logger['info']('FaxMessage,\x20%s,\x20%s',_0x8eb51a,_0x3c09('0x18'));_0x594a88(_0x53dc1c['result'][_0x3c09('0x1c')]);}})[_0x3c09('0x1d')](function(_0x555cc2){logger[_0x3c09('0x1b')]('FaxMessage,\x20%s,\x20%s',_0x8eb51a,_0x555cc2);_0x45b2c9(_0x555cc2);});});}function respondWithStatusCode(_0x2e56e3,_0x35775c){_0x35775c=_0x35775c||0xcc;return function(_0x344505){if(_0x344505){return _0x2e56e3[_0x3c09('0x1e')](_0x35775c);}return _0x2e56e3[_0x3c09('0x1f')](_0x35775c)[_0x3c09('0x20')]();};}function respondWithResult(_0x38324e,_0x33eaab){_0x33eaab=_0x33eaab||0xc8;return function(_0x5b6485){if(_0x5b6485){return _0x38324e['status'](_0x33eaab)['json'](_0x5b6485);}};}function respondWithFilteredResult(_0xd125d8,_0x1fc0fa){return function(_0x4d904a){if(_0x4d904a){var _0x5c0776=typeof _0x1fc0fa[_0x3c09('0x21')]===_0x3c09('0x22')&&typeof _0x1fc0fa[_0x3c09('0x23')]===_0x3c09('0x22');var _0x8f04f6=_0x4d904a[_0x3c09('0x24')];var _0x401f97=_0x5c0776?0x0:_0x1fc0fa[_0x3c09('0x21')];var _0x27fa21=_0x5c0776?_0x4d904a[_0x3c09('0x24')]:_0x1fc0fa[_0x3c09('0x21')]+_0x1fc0fa[_0x3c09('0x23')];var _0x920c77;if(_0x27fa21>=_0x8f04f6){_0x27fa21=_0x8f04f6;_0x920c77=0xc8;}else{_0x920c77=0xce;}_0xd125d8[_0x3c09('0x1f')](_0x920c77);return _0xd125d8['set']('Content-Range',_0x401f97+'-'+_0x27fa21+'/'+_0x8f04f6)['json'](_0x4d904a);}return null;};}function patchUpdates(_0x3c7551){return function(_0x3b2037){try{jsonpatch[_0x3c09('0x25')](_0x3b2037,_0x3c7551,!![]);}catch(_0x1f0110){return BPromise[_0x3c09('0x26')](_0x1f0110);}return _0x3b2037[_0x3c09('0x27')]();};}function saveUpdates(_0x55ab31,_0x28e5ef){return function(_0x5738fe){if(_0x5738fe){return _0x5738fe[_0x3c09('0x28')](_0x55ab31)[_0x3c09('0x29')](function(_0x54e462){return _0x54e462;});}return null;};}function removeEntity(_0x2bbf70,_0x390326){return function(_0x5e9359){if(_0x5e9359){return _0x5e9359[_0x3c09('0x2a')]()['then'](function(){_0x2bbf70[_0x3c09('0x1f')](0xcc)[_0x3c09('0x20')]();});}};}function handleEntityNotFound(_0x5520ed,_0x53565e){return function(_0x265eb){if(!_0x265eb){_0x5520ed['sendStatus'](0x194);}return _0x265eb;};}function handleError(_0x425932,_0x10dd45){_0x10dd45=_0x10dd45||0x1f4;return function(_0x2a6baf){logger[_0x3c09('0x1b')](_0x2a6baf[_0x3c09('0x2b')]);if(_0x2a6baf[_0x3c09('0x2c')]){delete _0x2a6baf[_0x3c09('0x2c')];}_0x425932[_0x3c09('0x1f')](_0x10dd45)['send'](_0x2a6baf);};}exports[_0x3c09('0x2d')]=function(_0x56323c,_0x28510e){var _0x39f4f9={},_0x40c197={},_0x18d1d3={'count':0x0,'rows':[]};var _0x41e457=_[_0x3c09('0x2e')](db[_0x3c09('0x2f')][_0x3c09('0x30')],function(_0x1a2883){return{'name':_0x1a2883['fieldName'],'type':_0x1a2883[_0x3c09('0x31')][_0x3c09('0x32')]};});_0x40c197['model']=_[_0x3c09('0x2e')](_0x41e457,_0x3c09('0x2c'));_0x40c197[_0x3c09('0x33')]=_[_0x3c09('0x34')](_0x56323c['query']);_0x40c197['filters']=_[_0x3c09('0x35')](_0x40c197[_0x3c09('0x36')],_0x40c197['query']);_0x39f4f9['attributes']=_[_0x3c09('0x35')](_0x40c197[_0x3c09('0x36')],qs['fields'](_0x56323c['query'][_0x3c09('0x37')]));_0x39f4f9[_0x3c09('0x38')]=_0x39f4f9['attributes'][_0x3c09('0x39')]?_0x39f4f9[_0x3c09('0x38')]:_0x40c197[_0x3c09('0x36')];if(!_0x56323c[_0x3c09('0x33')][_0x3c09('0x3a')](_0x3c09('0x3b'))){_0x39f4f9[_0x3c09('0x23')]=qs['limit'](_0x56323c[_0x3c09('0x33')][_0x3c09('0x23')]);_0x39f4f9[_0x3c09('0x21')]=qs[_0x3c09('0x21')](_0x56323c['query']['offset']);}_0x39f4f9['order']=qs['sort'](_0x56323c[_0x3c09('0x33')]['sort']);_0x39f4f9['where']=qs['filters'](_[_0x3c09('0x3c')](_0x56323c[_0x3c09('0x33')],_0x40c197[_0x3c09('0x3d')]),_0x41e457);if(_0x56323c[_0x3c09('0x33')][_0x3c09('0x3e')]){_0x39f4f9[_0x3c09('0x3f')]=_[_0x3c09('0x40')](_0x39f4f9['where'],{'$or':_[_0x3c09('0x2e')](_0x41e457,function(_0x1d2356){if(_0x1d2356[_0x3c09('0x31')]!==_0x3c09('0x41')){var _0x334837={};_0x334837[_0x1d2356[_0x3c09('0x2c')]]={'$like':'%'+_0x56323c[_0x3c09('0x33')]['filter']+'%'};return _0x334837;}})});}_0x39f4f9=_[_0x3c09('0x40')]({},_0x39f4f9,_0x56323c[_0x3c09('0x42')]);var _0x28ee34={'where':_0x39f4f9[_0x3c09('0x3f')]};return db[_0x3c09('0x2f')]['count'](_0x28ee34)[_0x3c09('0x29')](function(_0x532588){_0x18d1d3[_0x3c09('0x24')]=_0x532588;if(_0x56323c[_0x3c09('0x33')][_0x3c09('0x43')]){_0x39f4f9[_0x3c09('0x44')]=[{'all':!![]}];}return db[_0x3c09('0x2f')]['findAll'](_0x39f4f9);})[_0x3c09('0x29')](function(_0x45189c){_0x18d1d3['rows']=_0x45189c;return _0x18d1d3;})[_0x3c09('0x29')](respondWithFilteredResult(_0x28510e,_0x39f4f9))[_0x3c09('0x1d')](handleError(_0x28510e,null));};exports[_0x3c09('0x45')]=function(_0x20f22f,_0x46ac94){var _0x224105={'raw':!![],'where':{'id':_0x20f22f['params']['id']}},_0x28ce5d={};_0x28ce5d[_0x3c09('0x36')]=_['keys'](db[_0x3c09('0x2f')][_0x3c09('0x30')]);_0x28ce5d[_0x3c09('0x33')]=_[_0x3c09('0x34')](_0x20f22f['query']);_0x28ce5d[_0x3c09('0x3d')]=_[_0x3c09('0x35')](_0x28ce5d[_0x3c09('0x36')],_0x28ce5d[_0x3c09('0x33')]);_0x224105[_0x3c09('0x38')]=_[_0x3c09('0x35')](_0x28ce5d['model'],qs[_0x3c09('0x37')](_0x20f22f[_0x3c09('0x33')][_0x3c09('0x37')]));_0x224105[_0x3c09('0x38')]=_0x224105[_0x3c09('0x38')][_0x3c09('0x39')]?_0x224105[_0x3c09('0x38')]:_0x28ce5d[_0x3c09('0x36')];if(_0x20f22f[_0x3c09('0x33')][_0x3c09('0x43')]){_0x224105[_0x3c09('0x44')]=[{'all':!![]}];}_0x224105=_[_0x3c09('0x40')]({},_0x224105,_0x20f22f[_0x3c09('0x42')]);return db[_0x3c09('0x2f')][_0x3c09('0x46')](_0x224105)[_0x3c09('0x29')](handleEntityNotFound(_0x46ac94,null))[_0x3c09('0x29')](respondWithResult(_0x46ac94,null))[_0x3c09('0x1d')](handleError(_0x46ac94,null));};exports[_0x3c09('0x28')]=function(_0x54af17,_0x4a55a5){if(_0x54af17[_0x3c09('0x47')]['id']){delete _0x54af17[_0x3c09('0x47')]['id'];}return db['FaxMessage'][_0x3c09('0x46')]({'where':{'id':_0x54af17[_0x3c09('0x48')]['id']}})[_0x3c09('0x29')](handleEntityNotFound(_0x4a55a5,null))[_0x3c09('0x29')](saveUpdates(_0x54af17[_0x3c09('0x47')],null))[_0x3c09('0x29')](respondWithResult(_0x4a55a5,null))[_0x3c09('0x1d')](handleError(_0x4a55a5,null));};exports['destroy']=function(_0x3cacde,_0x4c39da){return db[_0x3c09('0x2f')][_0x3c09('0x46')]({'where':{'id':_0x3cacde[_0x3c09('0x48')]['id']}})[_0x3c09('0x29')](handleEntityNotFound(_0x4c39da,null))[_0x3c09('0x29')](removeEntity(_0x4c39da,null))['catch'](handleError(_0x4c39da,null));};exports[_0x3c09('0x49')]=function(_0x28d7a7,_0x2d1435){return db[_0x3c09('0x2f')][_0x3c09('0x49')]()['then'](respondWithResult(_0x2d1435,null))[_0x3c09('0x1d')](handleError(_0x2d1435,null));};var interaction_log=require(_0x3c09('0xa'))(_0x3c09('0x4a'));exports['accept']=function(_0x4f6d1b,_0x32e82e,_0x51afa6){var _0x1dfccb={'agent':{},'channel':'fax'};if(_0x4f6d1b[_0x3c09('0x47')]['id']){delete _0x4f6d1b[_0x3c09('0x47')]['id'];}_0x4f6d1b[_0x3c09('0x47')][_0x3c09('0x4b')]=!![];_0x4f6d1b[_0x3c09('0x47')]['readAt']=moment()[_0x3c09('0x4c')](_0x3c09('0x4d'));_0x4f6d1b[_0x3c09('0x47')]['UserId']=_0x4f6d1b[_0x3c09('0x47')][_0x3c09('0x4e')]||_0x4f6d1b[_0x3c09('0x4f')]['id'];_0x1dfccb[_0x3c09('0x50')]['id']=_0x4f6d1b['body']['UserId'];return db['FaxMessage'][_0x3c09('0x46')]({'where':{'id':_0x4f6d1b[_0x3c09('0x48')]['id'],'UserId':null},'include':[{'model':db[_0x3c09('0x51')],'as':_0x3c09('0x52')}]})[_0x3c09('0x29')](handleEntityNotFound(_0x32e82e,null))[_0x3c09('0x29')](saveUpdates(_0x4f6d1b[_0x3c09('0x47')],null))[_0x3c09('0x29')](function(_0x38685d){if(_0x38685d){_0x1dfccb[_0x3c09('0x1c')]=_0x38685d['get']({'plain':!![]});return db[_0x3c09('0x53')][_0x3c09('0x46')]({'where':{'id':_0x38685d[_0x3c09('0x54')]}});}return null;})['then'](handleEntityNotFound(_0x32e82e,null))[_0x3c09('0x29')](function(_0x208d3a){if(_0x208d3a){return _0x208d3a[_0x3c09('0x28')]({'UserId':_0x4f6d1b[_0x3c09('0x47')][_0x3c09('0x4e')],'read1stAt':_[_0x3c09('0x55')](_0x208d3a[_0x3c09('0x56')])?moment()['format'](_0x3c09('0x4d')):undefined});}return null;})[_0x3c09('0x29')](function(_0x3cef5b){if(_0x3cef5b){_0x1dfccb[_0x3c09('0x57')]=_0x3cef5b[_0x3c09('0x58')]({'plain':!![]});interaction_log[_0x3c09('0x59')](_0x3c09('0x5a'),_0x4f6d1b[_0x3c09('0x4f')]['id'],_0x4f6d1b[_0x3c09('0x4f')][_0x3c09('0x2c')],_0x4f6d1b[_0x3c09('0x4f')][_0x3c09('0x5b')],_0x1dfccb[_0x3c09('0x57')]['id'],_0x4f6d1b[_0x3c09('0x47')]?JSON[_0x3c09('0x1a')](_0x4f6d1b[_0x3c09('0x47')]):_0x3c09('0x5c'));return respondWithRpcPromise(_0x3c09('0x5d'),_0x3c09('0x5e'),_0x1dfccb);}return null;})['then'](function(_0x43de78){if(_0x43de78){if(_0x4f6d1b[_0x3c09('0x47')][_0x3c09('0x5f')]){_0x1dfccb[_0x3c09('0x1c')][_0x3c09('0x60')]=util[_0x3c09('0x4c')](_0x3c09('0x61'),_0x4f6d1b[_0x3c09('0x4f')][_0x3c09('0x2c')]);_0x1dfccb[_0x3c09('0x1c')]['channel']=_0x1dfccb['channel'];_0x1dfccb[_0x3c09('0x1c')][_0x3c09('0x62')]=_0x3c09('0x63');return respondWithRpcPromise(_0x3c09('0x64'),'EventManager',{'event':_0x3c09('0x65'),'message':_0x1dfccb[_0x3c09('0x1c')]},client9002)[_0x3c09('0x29')](function(){return _0x1dfccb;});}return _0x1dfccb;}return null;})[_0x3c09('0x29')](respondWithResult(_0x32e82e,null))[_0x3c09('0x1d')](handleError(_0x32e82e,null));};var interaction_log=require('../../config/logger')(_0x3c09('0x4a'));exports[_0x3c09('0x26')]=function(_0x15405c,_0x7bac1f,_0x54775f){var _0x4058fe={'agent':{},'channel':_0x3c09('0x66')};if(_0x15405c[_0x3c09('0x47')]['id']){delete _0x15405c[_0x3c09('0x47')]['id'];}_0x15405c['body'][_0x3c09('0x4e')]=_0x15405c[_0x3c09('0x47')]['UserId']||_0x15405c[_0x3c09('0x4f')]['id'];_0x4058fe[_0x3c09('0x50')]['id']=_0x15405c[_0x3c09('0x47')][_0x3c09('0x4e')];return db[_0x3c09('0x2f')][_0x3c09('0x46')]({'where':{'id':_0x15405c[_0x3c09('0x48')]['id'],'UserId':null}})[_0x3c09('0x29')](handleEntityNotFound(_0x7bac1f,null))[_0x3c09('0x29')](function(_0x1d6ada){if(_0x1d6ada){_0x4058fe['message']=_0x1d6ada[_0x3c09('0x58')]({'plain':!![]});return db[_0x3c09('0x53')]['find']({'where':{'id':_0x1d6ada['FaxInteractionId']}});}return null;})[_0x3c09('0x29')](handleEntityNotFound(_0x7bac1f,null))['then'](function(_0x75f41d){if(_0x75f41d){_0x4058fe[_0x3c09('0x57')]=_0x75f41d[_0x3c09('0x58')]({'plain':!![]});interaction_log['info']('[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x15405c[_0x3c09('0x4f')]['id'],_0x15405c[_0x3c09('0x4f')][_0x3c09('0x2c')],_0x15405c['user']['role'],_0x4058fe[_0x3c09('0x57')]['id'],_0x15405c[_0x3c09('0x47')]?JSON[_0x3c09('0x1a')](_0x15405c[_0x3c09('0x47')]):_0x3c09('0x5c'));return respondWithRpcPromise(_0x3c09('0x67'),_0x3c09('0x68'),_0x4058fe);}return null;})[_0x3c09('0x29')](function(_0x11d6fa){if(_0x11d6fa){_0x11d6fa[_0x3c09('0x1c')]['interface']=util[_0x3c09('0x4c')](_0x3c09('0x61'),_0x15405c[_0x3c09('0x4f')][_0x3c09('0x2c')]);_0x11d6fa[_0x3c09('0x1c')][_0x3c09('0x69')]=_0x4058fe[_0x3c09('0x69')];_0x11d6fa[_0x3c09('0x1c')][_0x3c09('0x62')]=_0x3c09('0x26');respondWithRpcPromise(_0x3c09('0x64'),'EventManager',{'event':_0x3c09('0x6a'),'message':_0x11d6fa[_0x3c09('0x1c')]},client9002);return _0x4058fe;}return null;})['then'](respondWithResult(_0x7bac1f,null))[_0x3c09('0x1d')](handleError(_0x7bac1f,null));};exports[_0x3c09('0x6b')]=function(_0x4a1ab1,_0x50ec81){var _0x439bdb;return db[_0x3c09('0x2f')]['create'](_0x4a1ab1[_0x3c09('0x47')],{})[_0x3c09('0x29')](function(_0x3c6ee7){_0x439bdb=_0x3c6ee7;return db[_0x3c09('0x51')]['findOne']({'where':{'id':_0x439bdb[_0x3c09('0x6c')]}});})[_0x3c09('0x29')](function(_0x350b53){if(_[_0x3c09('0x55')](_0x350b53)){return;}else{_0x439bdb[_0x3c09('0x66')]=_0x350b53[_0x3c09('0x66')];return db[_0x3c09('0x6d')]['findOne']({'where':{'id':_0x439bdb['AttachmentId']}});}})[_0x3c09('0x29')](function(_0x5aedec){return respondWithRpcPromise(_0x3c09('0x6e'),'SendFax',{'FaxAccountId':_[_0x3c09('0x55')](_0x4a1ab1['body'])?undefined:_0x4a1ab1['body'][_0x3c09('0x6f')],'path':_[_0x3c09('0x55')](_0x5aedec)?undefined:util['format']('/var/opt/motion2/server/files/attachments/%s',_0x5aedec[_0x3c09('0x70')]),'fax':_['isNil'](_0x439bdb[_0x3c09('0x66')])?undefined:_0x439bdb[_0x3c09('0x66')],'AttachmentId':_0x439bdb[_0x3c09('0x71')]},client9002);})['then'](respondWithResult(_0x50ec81,0xc9))[_0x3c09('0x1d')](handleError(_0x50ec81,null));};exports['download']=function(_0x445691,_0x23746d){var _0x51bdeb=path[_0x3c09('0x72')](config[_0x3c09('0x73')],_0x3c09('0x74'),_0x3c09('0x75'),_0x3c09('0x76'));return db[_0x3c09('0x2f')][_0x3c09('0x46')]({'where':{'id':_0x445691[_0x3c09('0x48')]['id']},'include':[{'model':db['Attachment'],'as':_0x3c09('0x6d')}]})[_0x3c09('0x29')](handleEntityNotFound(_0x23746d,null))[_0x3c09('0x29')](function(_0x336dc5){if(_0x336dc5){return _0x23746d[_0x3c09('0x77')](path['join'](_0x51bdeb,_0x336dc5['Attachment'][_0x3c09('0x70')]));}})[_0x3c09('0x1d')](handleError(_0x23746d,null));};