Built motion from commit (unavailable).|2.5.10
[motion2.git] / server / api / attachment / attachment.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 _0xaee7=['omit','createdAt','body','updatedAt','create','file','basename','type','mimetype','download','findOne','join','root','server/files/attachments/','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','end','error','stack','name','send','map','rawAttributes','fieldName','query','keys','filters','intersection','attributes','fields','model','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','Attachment','includeAll','include','findAll','rows','catch','show','params','length','find','clone'];(function(_0x193746,_0x4da65f){var _0x55fc9b=function(_0x132e94){while(--_0x132e94){_0x193746['push'](_0x193746['shift']());}};_0x55fc9b(++_0x4da65f);}(_0xaee7,0x16e));var _0x7aee=function(_0x1cfb13,_0x32aff4){_0x1cfb13=_0x1cfb13-0x0;var _0x2a4dce=_0xaee7[_0x1cfb13];return _0x2a4dce;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x7aee('0x0'));var rimraf=require(_0x7aee('0x1'));var zipdir=require(_0x7aee('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7aee('0x3'));var moment=require(_0x7aee('0x4'));var BPromise=require(_0x7aee('0x5'));var Mustache=require(_0x7aee('0x6'));var util=require(_0x7aee('0x7'));var path=require(_0x7aee('0x8'));var sox=require(_0x7aee('0x9'));var csv=require(_0x7aee('0xa'));var ejs=require(_0x7aee('0xb'));var fs=require('fs');var _=require(_0x7aee('0xc'));var squel=require(_0x7aee('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x7aee('0xe'));var toCsv=require(_0x7aee('0xa'));var querystring=require(_0x7aee('0xf'));var Papa=require('papaparse');var Redis=require(_0x7aee('0x10'));var authService=require(_0x7aee('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x7aee('0x12'));var hardwareService=require(_0x7aee('0x13'));var logger=require(_0x7aee('0x14'))(_0x7aee('0x15'));var utils=require(_0x7aee('0x16'));var config=require(_0x7aee('0x17'));var licenseUtil=require(_0x7aee('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x11d09a,_0x42dd6f){_0x42dd6f=_0x42dd6f||0xcc;return function(_0x63d79e){if(_0x63d79e){return _0x11d09a[_0x7aee('0x19')](_0x42dd6f);}return _0x11d09a[_0x7aee('0x1a')](_0x42dd6f)['end']();};}function respondWithResult(_0x539b52,_0x231021){_0x231021=_0x231021||0xc8;return function(_0x3065fc){if(_0x3065fc){return _0x539b52['status'](_0x231021)[_0x7aee('0x1b')](_0x3065fc);}};}function respondWithFilteredResult(_0x3c998d,_0x775c49){return function(_0x2b64b7){if(_0x2b64b7){var _0x412d8c=_0x2b64b7[_0x7aee('0x1c')],_0x1f1cdc=_0x775c49[_0x7aee('0x1d')],_0xd0d333=_0x775c49[_0x7aee('0x1d')]+_0x775c49[_0x7aee('0x1e')],_0x20baca;if(_0xd0d333>=_0x412d8c){_0xd0d333=_0x412d8c;_0x20baca=0xc8;}else{_0x20baca=0xce;}_0x3c998d[_0x7aee('0x1a')](_0x20baca);return _0x3c998d[_0x7aee('0x1f')](_0x7aee('0x20'),_0x1f1cdc+'-'+_0xd0d333+'/'+_0x412d8c)[_0x7aee('0x1b')](_0x2b64b7);}return null;};}function patchUpdates(_0x362abc){return function(_0x566ed8){try{jsonpatch[_0x7aee('0x21')](_0x566ed8,_0x362abc,!![]);}catch(_0x14d969){return BPromise['reject'](_0x14d969);}return _0x566ed8[_0x7aee('0x22')]();};}function saveUpdates(_0x502f66,_0xdff6df){return function(_0x510b94){if(_0x510b94){return _0x510b94[_0x7aee('0x23')](_0x502f66)[_0x7aee('0x24')](function(_0x495287){return _0x495287;});}return null;};}function removeEntity(_0x3a9055,_0x5c0593){return function(_0x554f6b){if(_0x554f6b){return _0x554f6b[_0x7aee('0x25')]()[_0x7aee('0x24')](function(){_0x3a9055['status'](0xcc)[_0x7aee('0x26')]();});}};}function handleEntityNotFound(_0x241016,_0x1b31c3){return function(_0x530978){if(!_0x530978){_0x241016[_0x7aee('0x19')](0x194);}return _0x530978;};}function handleError(_0x2a9dd7,_0x974e3f){_0x974e3f=_0x974e3f||0x1f4;return function(_0x5442a6){logger[_0x7aee('0x27')](_0x5442a6[_0x7aee('0x28')]);if(_0x5442a6[_0x7aee('0x29')]){delete _0x5442a6[_0x7aee('0x29')];}_0x2a9dd7[_0x7aee('0x1a')](_0x974e3f)[_0x7aee('0x2a')](_0x5442a6);};}exports['index']=function(_0x18102a,_0x184f2b){var _0x5be450={},_0x31a0f9={},_0x14c742={'count':0x0,'rows':[]};var _0x384c01=_[_0x7aee('0x2b')](db['Attachment'][_0x7aee('0x2c')],function(_0x5db93c){return{'name':_0x5db93c[_0x7aee('0x2d')],'type':_0x5db93c['type']['key']};});_0x31a0f9['model']=_[_0x7aee('0x2b')](_0x384c01,_0x7aee('0x29'));_0x31a0f9[_0x7aee('0x2e')]=_[_0x7aee('0x2f')](_0x18102a[_0x7aee('0x2e')]);_0x31a0f9[_0x7aee('0x30')]=_[_0x7aee('0x31')](_0x31a0f9['model'],_0x31a0f9[_0x7aee('0x2e')]);_0x5be450[_0x7aee('0x32')]=_[_0x7aee('0x31')](_0x31a0f9['model'],qs['fields'](_0x18102a['query'][_0x7aee('0x33')]));_0x5be450[_0x7aee('0x32')]=_0x5be450['attributes']['length']?_0x5be450[_0x7aee('0x32')]:_0x31a0f9[_0x7aee('0x34')];if(!_0x18102a[_0x7aee('0x2e')][_0x7aee('0x35')](_0x7aee('0x36'))){_0x5be450[_0x7aee('0x1e')]=qs[_0x7aee('0x1e')](_0x18102a[_0x7aee('0x2e')][_0x7aee('0x1e')]);_0x5be450['offset']=qs[_0x7aee('0x1d')](_0x18102a[_0x7aee('0x2e')][_0x7aee('0x1d')]);}_0x5be450[_0x7aee('0x37')]=qs[_0x7aee('0x38')](_0x18102a['query']['sort']);_0x5be450[_0x7aee('0x39')]=qs['filters'](_[_0x7aee('0x3a')](_0x18102a['query'],_0x31a0f9[_0x7aee('0x30')]),_0x384c01);if(_0x18102a[_0x7aee('0x2e')][_0x7aee('0x3b')]){_0x5be450[_0x7aee('0x39')]=_[_0x7aee('0x3c')](_0x5be450['where'],{'$or':_[_0x7aee('0x2b')](_0x384c01,function(_0x378bb7){if(_0x378bb7['type']!==_0x7aee('0x3d')){var _0x3911ad={};_0x3911ad[_0x378bb7['name']]={'$like':'%'+_0x18102a[_0x7aee('0x2e')]['filter']+'%'};return _0x3911ad;}})});}_0x5be450=_[_0x7aee('0x3c')]({},_0x5be450,_0x18102a[_0x7aee('0x3e')]);var _0x157957={'where':_0x5be450[_0x7aee('0x39')]};return db[_0x7aee('0x3f')]['count'](_0x157957)['then'](function(_0x12a24f){_0x14c742[_0x7aee('0x1c')]=_0x12a24f;if(_0x18102a[_0x7aee('0x2e')][_0x7aee('0x40')]){_0x5be450[_0x7aee('0x41')]=[{'all':!![]}];}return db['Attachment'][_0x7aee('0x42')](_0x5be450);})[_0x7aee('0x24')](function(_0x11b30e){_0x14c742[_0x7aee('0x43')]=_0x11b30e;return _0x14c742;})[_0x7aee('0x24')](respondWithFilteredResult(_0x184f2b,_0x5be450))[_0x7aee('0x44')](handleError(_0x184f2b,null));};exports[_0x7aee('0x45')]=function(_0x1964c1,_0x4ed41c){var _0x2c4850={'raw':!![],'where':{'id':_0x1964c1[_0x7aee('0x46')]['id']}},_0x417ea9={};_0x417ea9[_0x7aee('0x34')]=_[_0x7aee('0x2f')](db[_0x7aee('0x3f')][_0x7aee('0x2c')]);_0x417ea9['query']=_[_0x7aee('0x2f')](_0x1964c1['query']);_0x417ea9[_0x7aee('0x30')]=_['intersection'](_0x417ea9['model'],_0x417ea9[_0x7aee('0x2e')]);_0x2c4850[_0x7aee('0x32')]=_['intersection'](_0x417ea9[_0x7aee('0x34')],qs[_0x7aee('0x33')](_0x1964c1[_0x7aee('0x2e')][_0x7aee('0x33')]));_0x2c4850['attributes']=_0x2c4850[_0x7aee('0x32')][_0x7aee('0x47')]?_0x2c4850['attributes']:_0x417ea9[_0x7aee('0x34')];if(_0x1964c1[_0x7aee('0x2e')][_0x7aee('0x40')]){_0x2c4850['include']=[{'all':!![]}];}_0x2c4850=_[_0x7aee('0x3c')]({},_0x2c4850,_0x1964c1[_0x7aee('0x3e')]);return db[_0x7aee('0x3f')][_0x7aee('0x48')](_0x2c4850)[_0x7aee('0x24')](handleEntityNotFound(_0x4ed41c,null))[_0x7aee('0x24')](respondWithResult(_0x4ed41c,null))[_0x7aee('0x44')](handleError(_0x4ed41c,null));};exports[_0x7aee('0x49')]=function(_0x7062ec,_0x3ccd59){var _0x16b50f={'where':{'id':_0x7062ec[_0x7aee('0x46')]['id']}},_0x24070f={};_0x24070f[_0x7aee('0x34')]=_[_0x7aee('0x2f')](db['Attachment']['rawAttributes']);_0x16b50f['attributes']=_[_0x7aee('0x31')](_0x24070f[_0x7aee('0x34')],qs[_0x7aee('0x33')](_0x7062ec['query'][_0x7aee('0x33')]));_0x16b50f[_0x7aee('0x32')]=_0x16b50f[_0x7aee('0x32')][_0x7aee('0x47')]?_0x16b50f[_0x7aee('0x32')]:_0x24070f[_0x7aee('0x34')];if(_0x7062ec[_0x7aee('0x2e')][_0x7aee('0x40')]){_0x16b50f['include']=[{'all':!![]}];}_0x16b50f=_[_0x7aee('0x3c')]({},_0x16b50f,_0x7062ec['options']);return db['Attachment'][_0x7aee('0x48')](_0x16b50f)[_0x7aee('0x24')](handleEntityNotFound(_0x3ccd59,null))[_0x7aee('0x24')](function(_0x50da7d){if(_0x50da7d){var _0x6077b0=_0x50da7d['get']({'plain':!![]});_0x6077b0=qs[_0x7aee('0x4a')](_0x6077b0,['id',_0x7aee('0x4b'),'updatedAt']);_0x7062ec[_0x7aee('0x4c')]=_[_0x7aee('0x4a')](_0x7062ec[_0x7aee('0x4c')],['id',_0x7aee('0x4b'),_0x7aee('0x4d')]);return db[_0x7aee('0x3f')][_0x7aee('0x4e')](_[_0x7aee('0x3c')](_0x6077b0,_0x7062ec['body']),{'include':_0x7062ec['query'][_0x7aee('0x40')]?[{'all':!![]}]:undefined});}})[_0x7aee('0x24')](respondWithResult(_0x3ccd59,0xc9))[_0x7aee('0x44')](handleError(_0x3ccd59,null));};exports[_0x7aee('0x23')]=function(_0x203b59,_0x38b9e3){if(_0x203b59[_0x7aee('0x4c')]['id']){delete _0x203b59[_0x7aee('0x4c')]['id'];}return db[_0x7aee('0x3f')][_0x7aee('0x48')]({'where':{'id':_0x203b59['params']['id']}})[_0x7aee('0x24')](handleEntityNotFound(_0x38b9e3,null))[_0x7aee('0x24')](saveUpdates(_0x203b59[_0x7aee('0x4c')],null))[_0x7aee('0x24')](respondWithResult(_0x38b9e3,null))[_0x7aee('0x44')](handleError(_0x38b9e3,null));};exports[_0x7aee('0x25')]=function(_0x6fe5ad,_0x52baf4){return db[_0x7aee('0x3f')][_0x7aee('0x48')]({'where':{'id':_0x6fe5ad[_0x7aee('0x46')]['id']}})['then'](handleEntityNotFound(_0x52baf4,null))[_0x7aee('0x24')](removeEntity(_0x52baf4,null))['catch'](handleError(_0x52baf4,null));};exports[_0x7aee('0x4e')]=function(_0x5da8ab,_0x5b1667,_0x413d72){_0x5da8ab[_0x7aee('0x4c')]['name']=_0x5da8ab[_0x7aee('0x4f')]['originalname'];_0x5da8ab[_0x7aee('0x4c')][_0x7aee('0x50')]=_0x5da8ab['file']['filename'];_0x5da8ab['body'][_0x7aee('0x51')]=_0x5da8ab[_0x7aee('0x4f')][_0x7aee('0x52')];return db[_0x7aee('0x3f')][_0x7aee('0x4e')](_0x5da8ab[_0x7aee('0x4c')])['then'](respondWithResult(_0x5b1667,0xc9))[_0x7aee('0x44')](handleError(_0x5b1667,null));};exports[_0x7aee('0x53')]=function(_0x2dfe80,_0x5f03e8,_0x5e0d2f){return db[_0x7aee('0x3f')][_0x7aee('0x54')]({'where':{'id':_0x2dfe80[_0x7aee('0x46')]['id']},'raw':!![]})[_0x7aee('0x24')](handleEntityNotFound(_0x5f03e8,null))[_0x7aee('0x24')](function(_0x11830b){if(_0x11830b){return _0x5f03e8[_0x7aee('0x53')](path[_0x7aee('0x55')](config[_0x7aee('0x56')],_0x7aee('0x57'),_0x11830b[_0x7aee('0x50')]));}})[_0x7aee('0x44')](handleError(_0x5f03e8,null));};