Built motion from commit (unavailable).|2.5.13
[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 _0xea36=['path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','Attachment','rawAttributes','fieldName','type','key','model','query','keys','filters','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','options','count','includeAll','findAll','catch','intersection','include','clone','find','omit','updatedAt','body','createdAt','create','file','originalname','filename','download','findOne','join','server/files/attachments/','basename','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','util'];(function(_0x2e7118,_0x2cbd51){var _0x59440d=function(_0x34e997){while(--_0x34e997){_0x2e7118['push'](_0x2e7118['shift']());}};_0x59440d(++_0x2cbd51);}(_0xea36,0xf5));var _0x6ea3=function(_0x19eec1,_0x655af){_0x19eec1=_0x19eec1-0x0;var _0x4ddedd=_0xea36[_0x19eec1];return _0x4ddedd;};'use strict';var pdf=require(_0x6ea3('0x0'));var emlformat=require(_0x6ea3('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x6ea3('0x2'));var rp=require(_0x6ea3('0x3'));var moment=require(_0x6ea3('0x4'));var BPromise=require(_0x6ea3('0x5'));var Mustache=require('mustache');var util=require(_0x6ea3('0x6'));var path=require(_0x6ea3('0x7'));var sox=require(_0x6ea3('0x8'));var csv=require(_0x6ea3('0x9'));var ejs=require(_0x6ea3('0xa'));var fs=require('fs');var _=require(_0x6ea3('0xb'));var squel=require(_0x6ea3('0xc'));var crypto=require(_0x6ea3('0xd'));var jsforce=require(_0x6ea3('0xe'));var deskjs=require(_0x6ea3('0xf'));var toCsv=require(_0x6ea3('0x9'));var querystring=require(_0x6ea3('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x6ea3('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6ea3('0x12'));var logger=require(_0x6ea3('0x13'))(_0x6ea3('0x14'));var utils=require(_0x6ea3('0x15'));var config=require(_0x6ea3('0x16'));var licenseUtil=require(_0x6ea3('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5db335,_0x59a078){_0x59a078=_0x59a078||0xcc;return function(_0x58ff46){if(_0x58ff46){return _0x5db335[_0x6ea3('0x18')](_0x59a078);}return _0x5db335[_0x6ea3('0x19')](_0x59a078)[_0x6ea3('0x1a')]();};}function respondWithResult(_0x425fba,_0x4295d8){_0x4295d8=_0x4295d8||0xc8;return function(_0x26ca2b){if(_0x26ca2b){return _0x425fba[_0x6ea3('0x19')](_0x4295d8)[_0x6ea3('0x1b')](_0x26ca2b);}};}function respondWithFilteredResult(_0x30ba5f,_0x364154){return function(_0x4e0310){if(_0x4e0310){var _0x17ebd4=_0x4e0310['count'],_0x24775d=_0x364154[_0x6ea3('0x1c')],_0x35b4da=_0x364154['offset']+_0x364154[_0x6ea3('0x1d')],_0x446365;if(_0x35b4da>=_0x17ebd4){_0x35b4da=_0x17ebd4;_0x446365=0xc8;}else{_0x446365=0xce;}_0x30ba5f[_0x6ea3('0x19')](_0x446365);return _0x30ba5f['set'](_0x6ea3('0x1e'),_0x24775d+'-'+_0x35b4da+'/'+_0x17ebd4)[_0x6ea3('0x1b')](_0x4e0310);}return null;};}function patchUpdates(_0x626366){return function(_0x48f499){try{jsonpatch[_0x6ea3('0x1f')](_0x48f499,_0x626366,!![]);}catch(_0x2d7666){return BPromise[_0x6ea3('0x20')](_0x2d7666);}return _0x48f499[_0x6ea3('0x21')]();};}function saveUpdates(_0x1085a7,_0x1e1c65){return function(_0x1d2758){if(_0x1d2758){return _0x1d2758[_0x6ea3('0x22')](_0x1085a7)[_0x6ea3('0x23')](function(_0x47b0e4){return _0x47b0e4;});}return null;};}function removeEntity(_0xdacb1d,_0x3dbc19){return function(_0x31b1e8){if(_0x31b1e8){return _0x31b1e8[_0x6ea3('0x24')]()[_0x6ea3('0x23')](function(){_0xdacb1d[_0x6ea3('0x19')](0xcc)[_0x6ea3('0x1a')]();});}};}function handleEntityNotFound(_0x442b63,_0x13def3){return function(_0x6827be){if(!_0x6827be){_0x442b63[_0x6ea3('0x18')](0x194);}return _0x6827be;};}function handleError(_0x486688,_0x20a043){_0x20a043=_0x20a043||0x1f4;return function(_0x443041){logger[_0x6ea3('0x25')](_0x443041[_0x6ea3('0x26')]);if(_0x443041[_0x6ea3('0x27')]){delete _0x443041[_0x6ea3('0x27')];}_0x486688['status'](_0x20a043)[_0x6ea3('0x28')](_0x443041);};}exports[_0x6ea3('0x29')]=function(_0x573b2d,_0x56ef0d){var _0x4e7823={},_0x15c1b9={},_0x1e31b2={'count':0x0,'rows':[]};var _0x58036f=_[_0x6ea3('0x2a')](db[_0x6ea3('0x2b')][_0x6ea3('0x2c')],function(_0x51a9a6){return{'name':_0x51a9a6[_0x6ea3('0x2d')],'type':_0x51a9a6[_0x6ea3('0x2e')][_0x6ea3('0x2f')]};});_0x15c1b9[_0x6ea3('0x30')]=_['map'](_0x58036f,_0x6ea3('0x27'));_0x15c1b9[_0x6ea3('0x31')]=_[_0x6ea3('0x32')](_0x573b2d[_0x6ea3('0x31')]);_0x15c1b9[_0x6ea3('0x33')]=_['intersection'](_0x15c1b9[_0x6ea3('0x30')],_0x15c1b9[_0x6ea3('0x31')]);_0x4e7823['attributes']=_['intersection'](_0x15c1b9[_0x6ea3('0x30')],qs[_0x6ea3('0x34')](_0x573b2d[_0x6ea3('0x31')][_0x6ea3('0x34')]));_0x4e7823[_0x6ea3('0x35')]=_0x4e7823[_0x6ea3('0x35')][_0x6ea3('0x36')]?_0x4e7823['attributes']:_0x15c1b9[_0x6ea3('0x30')];if(!_0x573b2d[_0x6ea3('0x31')][_0x6ea3('0x37')](_0x6ea3('0x38'))){_0x4e7823[_0x6ea3('0x1d')]=qs['limit'](_0x573b2d[_0x6ea3('0x31')][_0x6ea3('0x1d')]);_0x4e7823[_0x6ea3('0x1c')]=qs[_0x6ea3('0x1c')](_0x573b2d[_0x6ea3('0x31')][_0x6ea3('0x1c')]);}_0x4e7823[_0x6ea3('0x39')]=qs[_0x6ea3('0x3a')](_0x573b2d[_0x6ea3('0x31')][_0x6ea3('0x3a')]);_0x4e7823[_0x6ea3('0x3b')]=qs['filters'](_[_0x6ea3('0x3c')](_0x573b2d['query'],_0x15c1b9[_0x6ea3('0x33')]),_0x58036f);if(_0x573b2d[_0x6ea3('0x31')]['filter']){_0x4e7823[_0x6ea3('0x3b')]=_[_0x6ea3('0x3d')](_0x4e7823[_0x6ea3('0x3b')],{'$or':_[_0x6ea3('0x2a')](_0x58036f,function(_0x451024){if(_0x451024[_0x6ea3('0x2e')]!=='VIRTUAL'){var _0x34bed1={};_0x34bed1[_0x451024[_0x6ea3('0x27')]]={'$like':'%'+_0x573b2d[_0x6ea3('0x31')]['filter']+'%'};return _0x34bed1;}})});}_0x4e7823=_[_0x6ea3('0x3d')]({},_0x4e7823,_0x573b2d[_0x6ea3('0x3e')]);var _0x37aeae={'where':_0x4e7823[_0x6ea3('0x3b')]};return db['Attachment'][_0x6ea3('0x3f')](_0x37aeae)[_0x6ea3('0x23')](function(_0x430e90){_0x1e31b2[_0x6ea3('0x3f')]=_0x430e90;if(_0x573b2d[_0x6ea3('0x31')][_0x6ea3('0x40')]){_0x4e7823['include']=[{'all':!![]}];}return db[_0x6ea3('0x2b')][_0x6ea3('0x41')](_0x4e7823);})[_0x6ea3('0x23')](function(_0x5ae22a){_0x1e31b2['rows']=_0x5ae22a;return _0x1e31b2;})[_0x6ea3('0x23')](respondWithFilteredResult(_0x56ef0d,_0x4e7823))[_0x6ea3('0x42')](handleError(_0x56ef0d,null));};exports['show']=function(_0xef4074,_0xd290a1){var _0xd768d5={'raw':!![],'where':{'id':_0xef4074['params']['id']}},_0x59d577={};_0x59d577[_0x6ea3('0x30')]=_[_0x6ea3('0x32')](db[_0x6ea3('0x2b')][_0x6ea3('0x2c')]);_0x59d577['query']=_['keys'](_0xef4074['query']);_0x59d577[_0x6ea3('0x33')]=_[_0x6ea3('0x43')](_0x59d577[_0x6ea3('0x30')],_0x59d577[_0x6ea3('0x31')]);_0xd768d5[_0x6ea3('0x35')]=_[_0x6ea3('0x43')](_0x59d577[_0x6ea3('0x30')],qs[_0x6ea3('0x34')](_0xef4074[_0x6ea3('0x31')][_0x6ea3('0x34')]));_0xd768d5[_0x6ea3('0x35')]=_0xd768d5[_0x6ea3('0x35')]['length']?_0xd768d5[_0x6ea3('0x35')]:_0x59d577[_0x6ea3('0x30')];if(_0xef4074[_0x6ea3('0x31')]['includeAll']){_0xd768d5[_0x6ea3('0x44')]=[{'all':!![]}];}_0xd768d5=_['merge']({},_0xd768d5,_0xef4074[_0x6ea3('0x3e')]);return db[_0x6ea3('0x2b')]['find'](_0xd768d5)[_0x6ea3('0x23')](handleEntityNotFound(_0xd290a1,null))[_0x6ea3('0x23')](respondWithResult(_0xd290a1,null))[_0x6ea3('0x42')](handleError(_0xd290a1,null));};exports[_0x6ea3('0x45')]=function(_0x471279,_0xc12b44){var _0x2d41cf={'where':{'id':_0x471279['params']['id']}},_0x4d944a={};_0x4d944a[_0x6ea3('0x30')]=_[_0x6ea3('0x32')](db[_0x6ea3('0x2b')][_0x6ea3('0x2c')]);_0x2d41cf[_0x6ea3('0x35')]=_[_0x6ea3('0x43')](_0x4d944a[_0x6ea3('0x30')],qs[_0x6ea3('0x34')](_0x471279[_0x6ea3('0x31')]['fields']));_0x2d41cf[_0x6ea3('0x35')]=_0x2d41cf[_0x6ea3('0x35')][_0x6ea3('0x36')]?_0x2d41cf[_0x6ea3('0x35')]:_0x4d944a['model'];if(_0x471279['query'][_0x6ea3('0x40')]){_0x2d41cf['include']=[{'all':!![]}];}_0x2d41cf=_[_0x6ea3('0x3d')]({},_0x2d41cf,_0x471279[_0x6ea3('0x3e')]);return db['Attachment'][_0x6ea3('0x46')](_0x2d41cf)['then'](handleEntityNotFound(_0xc12b44,null))['then'](function(_0x136e42){if(_0x136e42){var _0x1340af=_0x136e42['get']({'plain':!![]});_0x1340af=qs[_0x6ea3('0x47')](_0x1340af,['id','createdAt',_0x6ea3('0x48')]);_0x471279['body']=_[_0x6ea3('0x47')](_0x471279[_0x6ea3('0x49')],['id',_0x6ea3('0x4a'),_0x6ea3('0x48')]);return db[_0x6ea3('0x2b')][_0x6ea3('0x4b')](_[_0x6ea3('0x3d')](_0x1340af,_0x471279['body']),{'include':_0x471279[_0x6ea3('0x31')]['includeAll']?[{'all':!![]}]:undefined});}})[_0x6ea3('0x23')](respondWithResult(_0xc12b44,0xc9))[_0x6ea3('0x42')](handleError(_0xc12b44,null));};exports[_0x6ea3('0x22')]=function(_0xcbfafb,_0x1e8647){if(_0xcbfafb[_0x6ea3('0x49')]['id']){delete _0xcbfafb[_0x6ea3('0x49')]['id'];}return db['Attachment']['find']({'where':{'id':_0xcbfafb['params']['id']}})['then'](handleEntityNotFound(_0x1e8647,null))[_0x6ea3('0x23')](saveUpdates(_0xcbfafb[_0x6ea3('0x49')],null))[_0x6ea3('0x23')](respondWithResult(_0x1e8647,null))[_0x6ea3('0x42')](handleError(_0x1e8647,null));};exports[_0x6ea3('0x24')]=function(_0xa7d86,_0x14b82e){return db['Attachment'][_0x6ea3('0x46')]({'where':{'id':_0xa7d86['params']['id']}})[_0x6ea3('0x23')](handleEntityNotFound(_0x14b82e,null))[_0x6ea3('0x23')](removeEntity(_0x14b82e,null))['catch'](handleError(_0x14b82e,null));};exports[_0x6ea3('0x4b')]=function(_0x9c8d7b,_0x2ff775,_0x35942c){_0x9c8d7b[_0x6ea3('0x49')][_0x6ea3('0x27')]=_0x9c8d7b[_0x6ea3('0x4c')][_0x6ea3('0x4d')];_0x9c8d7b[_0x6ea3('0x49')]['basename']=_0x9c8d7b[_0x6ea3('0x4c')][_0x6ea3('0x4e')];_0x9c8d7b[_0x6ea3('0x49')][_0x6ea3('0x2e')]=_0x9c8d7b[_0x6ea3('0x4c')]['mimetype'];return db[_0x6ea3('0x2b')][_0x6ea3('0x4b')](_0x9c8d7b[_0x6ea3('0x49')])[_0x6ea3('0x23')](respondWithResult(_0x2ff775,0xc9))['catch'](handleError(_0x2ff775,null));};exports[_0x6ea3('0x4f')]=function(_0x477617,_0x598bfe,_0x37fc12){return db['Attachment'][_0x6ea3('0x50')]({'where':{'id':_0x477617['params']['id']},'raw':!![]})['then'](handleEntityNotFound(_0x598bfe,null))['then'](function(_0x2bea9b){if(_0x2bea9b){return _0x598bfe[_0x6ea3('0x4f')](path[_0x6ea3('0x51')](config['root'],_0x6ea3('0x52'),_0x2bea9b[_0x6ea3('0x53')]));}})[_0x6ea3('0x42')](handleError(_0x598bfe,null));};