Built motion from commit (unavailable).|2.5.30
[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 _0xb871=['catch','params','clone','find','get','omit','createdAt','body','updatedAt','create','file','originalname','basename','filename','mimetype','download','findOne','ChatOfflineMessageId','join','root','server/files/attachments/','offline-chat/','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','error','stack','name','index','map','Attachment','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','type','filter','options','includeAll','include','findAll','rows'];(function(_0x542390,_0x59aa38){var _0x21fd7e=function(_0x551082){while(--_0x551082){_0x542390['push'](_0x542390['shift']());}};_0x21fd7e(++_0x59aa38);}(_0xb871,0x11e));var _0x1b87=function(_0x4d9a42,_0x4baeaa){_0x4d9a42=_0x4d9a42-0x0;var _0x5833d3=_0xb871[_0x4d9a42];return _0x5833d3;};'use strict';var emlformat=require(_0x1b87('0x0'));var rimraf=require(_0x1b87('0x1'));var zipdir=require(_0x1b87('0x2'));var jsonpatch=require(_0x1b87('0x3'));var rp=require(_0x1b87('0x4'));var moment=require('moment');var BPromise=require(_0x1b87('0x5'));var Mustache=require('mustache');var util=require(_0x1b87('0x6'));var path=require(_0x1b87('0x7'));var sox=require(_0x1b87('0x8'));var csv=require(_0x1b87('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1b87('0xa'));var _=require(_0x1b87('0xb'));var squel=require('squel');var crypto=require(_0x1b87('0xc'));var jsforce=require(_0x1b87('0xd'));var deskjs=require(_0x1b87('0xe'));var toCsv=require(_0x1b87('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1b87('0xf'));var authService=require(_0x1b87('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x1b87('0x11'));var hardwareService=require(_0x1b87('0x12'));var logger=require('../../config/logger')(_0x1b87('0x13'));var utils=require(_0x1b87('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x1b87('0x15'));var db=require(_0x1b87('0x16'))['db'];function respondWithStatusCode(_0x39bda4,_0x2cb620){_0x2cb620=_0x2cb620||0xcc;return function(_0xf02288){if(_0xf02288){return _0x39bda4[_0x1b87('0x17')](_0x2cb620);}return _0x39bda4['status'](_0x2cb620)[_0x1b87('0x18')]();};}function respondWithResult(_0xa492a0,_0x18e9d0){_0x18e9d0=_0x18e9d0||0xc8;return function(_0x5f3d88){if(_0x5f3d88){return _0xa492a0[_0x1b87('0x19')](_0x18e9d0)['json'](_0x5f3d88);}};}function respondWithFilteredResult(_0x1579cb,_0x49dd30){return function(_0x18d976){if(_0x18d976){var _0x1f8694=typeof _0x49dd30[_0x1b87('0x1a')]===_0x1b87('0x1b')&&typeof _0x49dd30[_0x1b87('0x1c')]===_0x1b87('0x1b');var _0x3b0b90=_0x18d976[_0x1b87('0x1d')];var _0x5e5b26=_0x1f8694?0x0:_0x49dd30['offset'];var _0x215aae=_0x1f8694?_0x18d976[_0x1b87('0x1d')]:_0x49dd30[_0x1b87('0x1a')]+_0x49dd30[_0x1b87('0x1c')];var _0x3229f9;if(_0x215aae>=_0x3b0b90){_0x215aae=_0x3b0b90;_0x3229f9=0xc8;}else{_0x3229f9=0xce;}_0x1579cb['status'](_0x3229f9);return _0x1579cb['set'](_0x1b87('0x1e'),_0x5e5b26+'-'+_0x215aae+'/'+_0x3b0b90)['json'](_0x18d976);}return null;};}function patchUpdates(_0x33317e){return function(_0x41360e){try{jsonpatch[_0x1b87('0x1f')](_0x41360e,_0x33317e,!![]);}catch(_0x31d196){return BPromise[_0x1b87('0x20')](_0x31d196);}return _0x41360e[_0x1b87('0x21')]();};}function saveUpdates(_0x7ac905,_0xa09b59){return function(_0x1c8b8f){if(_0x1c8b8f){return _0x1c8b8f[_0x1b87('0x22')](_0x7ac905)[_0x1b87('0x23')](function(_0x8a0429){return _0x8a0429;});}return null;};}function removeEntity(_0x4932b1,_0x4927c6){return function(_0x592531){if(_0x592531){return _0x592531['destroy']()[_0x1b87('0x23')](function(){_0x4932b1[_0x1b87('0x19')](0xcc)[_0x1b87('0x18')]();});}};}function handleEntityNotFound(_0x8daf12,_0x31e73f){return function(_0x2953c6){if(!_0x2953c6){_0x8daf12[_0x1b87('0x17')](0x194);}return _0x2953c6;};}function handleError(_0x298062,_0x419387){_0x419387=_0x419387||0x1f4;return function(_0x149f0f){logger[_0x1b87('0x24')](_0x149f0f[_0x1b87('0x25')]);if(_0x149f0f['name']){delete _0x149f0f[_0x1b87('0x26')];}_0x298062['status'](_0x419387)['send'](_0x149f0f);};}exports[_0x1b87('0x27')]=function(_0x47cc04,_0xc30022){var _0x2adb5c={},_0x58b403={},_0xa72d4d={'count':0x0,'rows':[]};var _0x93ce2=_[_0x1b87('0x28')](db[_0x1b87('0x29')][_0x1b87('0x2a')],function(_0x4e2822){return{'name':_0x4e2822[_0x1b87('0x2b')],'type':_0x4e2822['type'][_0x1b87('0x2c')]};});_0x58b403[_0x1b87('0x2d')]=_[_0x1b87('0x28')](_0x93ce2,_0x1b87('0x26'));_0x58b403[_0x1b87('0x2e')]=_[_0x1b87('0x2f')](_0x47cc04['query']);_0x58b403[_0x1b87('0x30')]=_[_0x1b87('0x31')](_0x58b403['model'],_0x58b403[_0x1b87('0x2e')]);_0x2adb5c[_0x1b87('0x32')]=_[_0x1b87('0x31')](_0x58b403[_0x1b87('0x2d')],qs[_0x1b87('0x33')](_0x47cc04[_0x1b87('0x2e')][_0x1b87('0x33')]));_0x2adb5c[_0x1b87('0x32')]=_0x2adb5c['attributes'][_0x1b87('0x34')]?_0x2adb5c[_0x1b87('0x32')]:_0x58b403[_0x1b87('0x2d')];if(!_0x47cc04[_0x1b87('0x2e')][_0x1b87('0x35')](_0x1b87('0x36'))){_0x2adb5c[_0x1b87('0x1c')]=qs[_0x1b87('0x1c')](_0x47cc04[_0x1b87('0x2e')]['limit']);_0x2adb5c[_0x1b87('0x1a')]=qs[_0x1b87('0x1a')](_0x47cc04[_0x1b87('0x2e')]['offset']);}_0x2adb5c['order']=qs['sort'](_0x47cc04[_0x1b87('0x2e')][_0x1b87('0x37')]);_0x2adb5c[_0x1b87('0x38')]=qs['filters'](_[_0x1b87('0x39')](_0x47cc04[_0x1b87('0x2e')],_0x58b403[_0x1b87('0x30')]),_0x93ce2);if(_0x47cc04['query']['filter']){_0x2adb5c['where']=_[_0x1b87('0x3a')](_0x2adb5c['where'],{'$or':_[_0x1b87('0x28')](_0x93ce2,function(_0x37c8e5){if(_0x37c8e5[_0x1b87('0x3b')]!=='VIRTUAL'){var _0x48b24e={};_0x48b24e[_0x37c8e5[_0x1b87('0x26')]]={'$like':'%'+_0x47cc04[_0x1b87('0x2e')][_0x1b87('0x3c')]+'%'};return _0x48b24e;}})});}_0x2adb5c=_[_0x1b87('0x3a')]({},_0x2adb5c,_0x47cc04[_0x1b87('0x3d')]);var _0x2bae72={'where':_0x2adb5c[_0x1b87('0x38')]};return db[_0x1b87('0x29')][_0x1b87('0x1d')](_0x2bae72)[_0x1b87('0x23')](function(_0x13b0fb){_0xa72d4d[_0x1b87('0x1d')]=_0x13b0fb;if(_0x47cc04['query'][_0x1b87('0x3e')]){_0x2adb5c[_0x1b87('0x3f')]=[{'all':!![]}];}return db['Attachment'][_0x1b87('0x40')](_0x2adb5c);})['then'](function(_0x1c5600){_0xa72d4d[_0x1b87('0x41')]=_0x1c5600;return _0xa72d4d;})[_0x1b87('0x23')](respondWithFilteredResult(_0xc30022,_0x2adb5c))[_0x1b87('0x42')](handleError(_0xc30022,null));};exports['show']=function(_0x335061,_0x348217){var _0x244ed2={'raw':!![],'where':{'id':_0x335061[_0x1b87('0x43')]['id']}},_0x35e47d={};_0x35e47d['model']=_[_0x1b87('0x2f')](db[_0x1b87('0x29')][_0x1b87('0x2a')]);_0x35e47d['query']=_[_0x1b87('0x2f')](_0x335061[_0x1b87('0x2e')]);_0x35e47d[_0x1b87('0x30')]=_['intersection'](_0x35e47d['model'],_0x35e47d[_0x1b87('0x2e')]);_0x244ed2[_0x1b87('0x32')]=_[_0x1b87('0x31')](_0x35e47d['model'],qs[_0x1b87('0x33')](_0x335061[_0x1b87('0x2e')][_0x1b87('0x33')]));_0x244ed2[_0x1b87('0x32')]=_0x244ed2[_0x1b87('0x32')][_0x1b87('0x34')]?_0x244ed2[_0x1b87('0x32')]:_0x35e47d[_0x1b87('0x2d')];if(_0x335061[_0x1b87('0x2e')][_0x1b87('0x3e')]){_0x244ed2[_0x1b87('0x3f')]=[{'all':!![]}];}_0x244ed2=_[_0x1b87('0x3a')]({},_0x244ed2,_0x335061['options']);return db[_0x1b87('0x29')]['find'](_0x244ed2)[_0x1b87('0x23')](handleEntityNotFound(_0x348217,null))[_0x1b87('0x23')](respondWithResult(_0x348217,null))[_0x1b87('0x42')](handleError(_0x348217,null));};exports[_0x1b87('0x44')]=function(_0x30a749,_0x3c5ae4){var _0x469284={'where':{'id':_0x30a749['params']['id']}},_0x15501a={};_0x15501a[_0x1b87('0x2d')]=_[_0x1b87('0x2f')](db[_0x1b87('0x29')][_0x1b87('0x2a')]);_0x469284[_0x1b87('0x32')]=_[_0x1b87('0x31')](_0x15501a['model'],qs[_0x1b87('0x33')](_0x30a749[_0x1b87('0x2e')][_0x1b87('0x33')]));_0x469284[_0x1b87('0x32')]=_0x469284[_0x1b87('0x32')][_0x1b87('0x34')]?_0x469284[_0x1b87('0x32')]:_0x15501a[_0x1b87('0x2d')];if(_0x30a749[_0x1b87('0x2e')][_0x1b87('0x3e')]){_0x469284[_0x1b87('0x3f')]=[{'all':!![]}];}_0x469284=_['merge']({},_0x469284,_0x30a749[_0x1b87('0x3d')]);return db[_0x1b87('0x29')][_0x1b87('0x45')](_0x469284)[_0x1b87('0x23')](handleEntityNotFound(_0x3c5ae4,null))[_0x1b87('0x23')](function(_0x31f02c){if(_0x31f02c){var _0x4d82ca=_0x31f02c[_0x1b87('0x46')]({'plain':!![]});_0x4d82ca=qs[_0x1b87('0x47')](_0x4d82ca,['id',_0x1b87('0x48'),'updatedAt']);_0x30a749['body']=_[_0x1b87('0x47')](_0x30a749[_0x1b87('0x49')],['id',_0x1b87('0x48'),_0x1b87('0x4a')]);return db[_0x1b87('0x29')][_0x1b87('0x4b')](_['merge'](_0x4d82ca,_0x30a749['body']),{'include':_0x30a749[_0x1b87('0x2e')]['includeAll']?[{'all':!![]}]:undefined});}})[_0x1b87('0x23')](respondWithResult(_0x3c5ae4,0xc9))[_0x1b87('0x42')](handleError(_0x3c5ae4,null));};exports[_0x1b87('0x22')]=function(_0x5d0324,_0x18ea8a){if(_0x5d0324[_0x1b87('0x49')]['id']){delete _0x5d0324[_0x1b87('0x49')]['id'];}return db[_0x1b87('0x29')]['find']({'where':{'id':_0x5d0324['params']['id']}})[_0x1b87('0x23')](handleEntityNotFound(_0x18ea8a,null))['then'](saveUpdates(_0x5d0324['body'],null))[_0x1b87('0x23')](respondWithResult(_0x18ea8a,null))['catch'](handleError(_0x18ea8a,null));};exports['destroy']=function(_0x20b880,_0x3f7a99){return db['Attachment']['find']({'where':{'id':_0x20b880['params']['id']}})[_0x1b87('0x23')](handleEntityNotFound(_0x3f7a99,null))[_0x1b87('0x23')](removeEntity(_0x3f7a99,null))[_0x1b87('0x42')](handleError(_0x3f7a99,null));};exports[_0x1b87('0x4b')]=function(_0x284b0b,_0x3b545d,_0x483f11){_0x284b0b[_0x1b87('0x49')][_0x1b87('0x26')]=_0x284b0b[_0x1b87('0x4c')][_0x1b87('0x4d')];_0x284b0b[_0x1b87('0x49')][_0x1b87('0x4e')]=_0x284b0b[_0x1b87('0x4c')][_0x1b87('0x4f')];_0x284b0b[_0x1b87('0x49')][_0x1b87('0x3b')]=_0x284b0b[_0x1b87('0x4c')][_0x1b87('0x50')];return db[_0x1b87('0x29')][_0x1b87('0x4b')](_0x284b0b[_0x1b87('0x49')])[_0x1b87('0x23')](respondWithResult(_0x3b545d,0xc9))['catch'](handleError(_0x3b545d,null));};exports[_0x1b87('0x51')]=function(_0x9cd50,_0x2495fd,_0x3a45f8){return db[_0x1b87('0x29')][_0x1b87('0x52')]({'where':{'id':_0x9cd50[_0x1b87('0x43')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x2495fd,null))['then'](function(_0x498bb3){if(_0x498bb3){var _0x178e8a=_0x498bb3[_0x1b87('0x53')]!==null;var _0x1fa96c=path[_0x1b87('0x54')](config[_0x1b87('0x55')],_0x1b87('0x56'));if(_0x178e8a){_0x1fa96c=path[_0x1b87('0x54')](_0x1fa96c,_0x1b87('0x57'));}var _0x103cb3=path[_0x1b87('0x54')](_0x1fa96c,_0x498bb3['basename']);return _0x2495fd[_0x1b87('0x51')](_0x103cb3);}})[_0x1b87('0x42')](handleError(_0x2495fd,null));};