Built motion from commit (unavailable).|2.5.8
[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 _0xe551=['filters','merge','includeAll','include','Attachment','findAll','rows','catch','params','keys','options','find','clone','get','omit','createdAt','updatedAt','body','file','originalname','basename','mimetype','download','findOne','join','root','server/files/attachments/','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','count','offset','set','Content-Range','reject','update','then','destroy','end','sendStatus','stack','name','map','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick'];(function(_0x5a9c01,_0x591ac9){var _0x507dfd=function(_0xa0bf95){while(--_0xa0bf95){_0x5a9c01['push'](_0x5a9c01['shift']());}};_0x507dfd(++_0x591ac9);}(_0xe551,0xc1));var _0x1e55=function(_0x54d5c4,_0x940d31){_0x54d5c4=_0x54d5c4-0x0;var _0x2761ac=_0xe551[_0x54d5c4];return _0x2761ac;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x1e55('0x0'));var jsonpatch=require(_0x1e55('0x1'));var rp=require(_0x1e55('0x2'));var moment=require(_0x1e55('0x3'));var BPromise=require(_0x1e55('0x4'));var Mustache=require(_0x1e55('0x5'));var util=require(_0x1e55('0x6'));var path=require(_0x1e55('0x7'));var sox=require('sox');var csv=require(_0x1e55('0x8'));var ejs=require(_0x1e55('0x9'));var fs=require('fs');var _=require(_0x1e55('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1e55('0xb'));var deskjs=require(_0x1e55('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x1e55('0xd'));var Redis=require('ioredis');var authService=require(_0x1e55('0xe'));var qs=require(_0x1e55('0xf'));var as=require(_0x1e55('0x10'));var hardwareService=require(_0x1e55('0x11'));var logger=require(_0x1e55('0x12'))(_0x1e55('0x13'));var utils=require(_0x1e55('0x14'));var config=require(_0x1e55('0x15'));var licenseUtil=require(_0x1e55('0x16'));var db=require(_0x1e55('0x17'))['db'];function respondWithStatusCode(_0x36da7e,_0x5e1c07){_0x5e1c07=_0x5e1c07||0xcc;return function(_0x25152f){if(_0x25152f){return _0x36da7e['sendStatus'](_0x5e1c07);}return _0x36da7e['status'](_0x5e1c07)['end']();};}function respondWithResult(_0x2c9d53,_0x2ec0fe){_0x2ec0fe=_0x2ec0fe||0xc8;return function(_0x5aa1b2){if(_0x5aa1b2){return _0x2c9d53[_0x1e55('0x18')](_0x2ec0fe)[_0x1e55('0x19')](_0x5aa1b2);}};}function respondWithFilteredResult(_0x407cd0,_0x138991){return function(_0x294895){if(_0x294895){var _0x32ffb5=_0x294895[_0x1e55('0x1a')],_0x35947d=_0x138991[_0x1e55('0x1b')],_0x2d7314=_0x138991[_0x1e55('0x1b')]+_0x138991['limit'],_0x3191b1;if(_0x2d7314>=_0x32ffb5){_0x2d7314=_0x32ffb5;_0x3191b1=0xc8;}else{_0x3191b1=0xce;}_0x407cd0[_0x1e55('0x18')](_0x3191b1);return _0x407cd0[_0x1e55('0x1c')](_0x1e55('0x1d'),_0x35947d+'-'+_0x2d7314+'/'+_0x32ffb5)[_0x1e55('0x19')](_0x294895);}return null;};}function patchUpdates(_0x1ada8d){return function(_0x20a917){try{jsonpatch['apply'](_0x20a917,_0x1ada8d,!![]);}catch(_0x3c5f4e){return BPromise[_0x1e55('0x1e')](_0x3c5f4e);}return _0x20a917['save']();};}function saveUpdates(_0x1b7d8f,_0x37a8e2){return function(_0x13ee75){if(_0x13ee75){return _0x13ee75[_0x1e55('0x1f')](_0x1b7d8f)[_0x1e55('0x20')](function(_0x22669b){return _0x22669b;});}return null;};}function removeEntity(_0x199565,_0x47143d){return function(_0x14829e){if(_0x14829e){return _0x14829e[_0x1e55('0x21')]()[_0x1e55('0x20')](function(){_0x199565[_0x1e55('0x18')](0xcc)[_0x1e55('0x22')]();});}};}function handleEntityNotFound(_0xe861b4,_0x7dd7e8){return function(_0x4a3757){if(!_0x4a3757){_0xe861b4[_0x1e55('0x23')](0x194);}return _0x4a3757;};}function handleError(_0x250ba8,_0xb4db51){_0xb4db51=_0xb4db51||0x1f4;return function(_0x2e2249){logger['error'](_0x2e2249[_0x1e55('0x24')]);if(_0x2e2249[_0x1e55('0x25')]){delete _0x2e2249[_0x1e55('0x25')];}_0x250ba8['status'](_0xb4db51)['send'](_0x2e2249);};}exports['index']=function(_0x1e9764,_0x2de02a){var _0x262436={},_0x28eadf={},_0x4d62ea={'count':0x0,'rows':[]};var _0x439aba=_[_0x1e55('0x26')](db['Attachment'][_0x1e55('0x27')],function(_0x1e75a7){return{'name':_0x1e75a7[_0x1e55('0x28')],'type':_0x1e75a7[_0x1e55('0x29')][_0x1e55('0x2a')]};});_0x28eadf[_0x1e55('0x2b')]=_[_0x1e55('0x26')](_0x439aba,_0x1e55('0x25'));_0x28eadf[_0x1e55('0x2c')]=_['keys'](_0x1e9764['query']);_0x28eadf['filters']=_[_0x1e55('0x2d')](_0x28eadf['model'],_0x28eadf[_0x1e55('0x2c')]);_0x262436[_0x1e55('0x2e')]=_[_0x1e55('0x2d')](_0x28eadf[_0x1e55('0x2b')],qs[_0x1e55('0x2f')](_0x1e9764[_0x1e55('0x2c')][_0x1e55('0x2f')]));_0x262436['attributes']=_0x262436[_0x1e55('0x2e')][_0x1e55('0x30')]?_0x262436[_0x1e55('0x2e')]:_0x28eadf[_0x1e55('0x2b')];if(!_0x1e9764[_0x1e55('0x2c')][_0x1e55('0x31')](_0x1e55('0x32'))){_0x262436[_0x1e55('0x33')]=qs[_0x1e55('0x33')](_0x1e9764['query'][_0x1e55('0x33')]);_0x262436[_0x1e55('0x1b')]=qs[_0x1e55('0x1b')](_0x1e9764[_0x1e55('0x2c')][_0x1e55('0x1b')]);}_0x262436[_0x1e55('0x34')]=qs[_0x1e55('0x35')](_0x1e9764[_0x1e55('0x2c')][_0x1e55('0x35')]);_0x262436[_0x1e55('0x36')]=qs['filters'](_[_0x1e55('0x37')](_0x1e9764[_0x1e55('0x2c')],_0x28eadf[_0x1e55('0x38')]),_0x439aba);if(_0x1e9764['query']['filter']){_0x262436[_0x1e55('0x36')]=_[_0x1e55('0x39')](_0x262436[_0x1e55('0x36')],{'$or':_[_0x1e55('0x26')](_0x439aba,function(_0x3bf2d6){if(_0x3bf2d6[_0x1e55('0x29')]!=='VIRTUAL'){var _0xf9b7d4={};_0xf9b7d4[_0x3bf2d6['name']]={'$like':'%'+_0x1e9764[_0x1e55('0x2c')]['filter']+'%'};return _0xf9b7d4;}})});}_0x262436=_[_0x1e55('0x39')]({},_0x262436,_0x1e9764['options']);var _0x2baf91={'where':_0x262436[_0x1e55('0x36')]};return db['Attachment']['count'](_0x2baf91)['then'](function(_0x2fccb1){_0x4d62ea[_0x1e55('0x1a')]=_0x2fccb1;if(_0x1e9764['query'][_0x1e55('0x3a')]){_0x262436[_0x1e55('0x3b')]=[{'all':!![]}];}return db[_0x1e55('0x3c')][_0x1e55('0x3d')](_0x262436);})[_0x1e55('0x20')](function(_0x24432b){_0x4d62ea[_0x1e55('0x3e')]=_0x24432b;return _0x4d62ea;})[_0x1e55('0x20')](respondWithFilteredResult(_0x2de02a,_0x262436))[_0x1e55('0x3f')](handleError(_0x2de02a,null));};exports['show']=function(_0x1dabbc,_0x41105e){var _0x30f4b0={'raw':!![],'where':{'id':_0x1dabbc[_0x1e55('0x40')]['id']}},_0x181312={};_0x181312[_0x1e55('0x2b')]=_[_0x1e55('0x41')](db[_0x1e55('0x3c')][_0x1e55('0x27')]);_0x181312[_0x1e55('0x2c')]=_[_0x1e55('0x41')](_0x1dabbc[_0x1e55('0x2c')]);_0x181312['filters']=_[_0x1e55('0x2d')](_0x181312[_0x1e55('0x2b')],_0x181312[_0x1e55('0x2c')]);_0x30f4b0[_0x1e55('0x2e')]=_[_0x1e55('0x2d')](_0x181312['model'],qs[_0x1e55('0x2f')](_0x1dabbc['query'][_0x1e55('0x2f')]));_0x30f4b0['attributes']=_0x30f4b0['attributes']['length']?_0x30f4b0[_0x1e55('0x2e')]:_0x181312[_0x1e55('0x2b')];if(_0x1dabbc['query'][_0x1e55('0x3a')]){_0x30f4b0[_0x1e55('0x3b')]=[{'all':!![]}];}_0x30f4b0=_['merge']({},_0x30f4b0,_0x1dabbc[_0x1e55('0x42')]);return db['Attachment'][_0x1e55('0x43')](_0x30f4b0)[_0x1e55('0x20')](handleEntityNotFound(_0x41105e,null))[_0x1e55('0x20')](respondWithResult(_0x41105e,null))['catch'](handleError(_0x41105e,null));};exports[_0x1e55('0x44')]=function(_0xefe8c2,_0x6bc806){var _0x1de7cd={'where':{'id':_0xefe8c2[_0x1e55('0x40')]['id']}},_0x4c9f91={};_0x4c9f91[_0x1e55('0x2b')]=_['keys'](db['Attachment'][_0x1e55('0x27')]);_0x1de7cd[_0x1e55('0x2e')]=_[_0x1e55('0x2d')](_0x4c9f91[_0x1e55('0x2b')],qs[_0x1e55('0x2f')](_0xefe8c2[_0x1e55('0x2c')][_0x1e55('0x2f')]));_0x1de7cd[_0x1e55('0x2e')]=_0x1de7cd[_0x1e55('0x2e')][_0x1e55('0x30')]?_0x1de7cd[_0x1e55('0x2e')]:_0x4c9f91[_0x1e55('0x2b')];if(_0xefe8c2[_0x1e55('0x2c')]['includeAll']){_0x1de7cd[_0x1e55('0x3b')]=[{'all':!![]}];}_0x1de7cd=_['merge']({},_0x1de7cd,_0xefe8c2[_0x1e55('0x42')]);return db[_0x1e55('0x3c')][_0x1e55('0x43')](_0x1de7cd)[_0x1e55('0x20')](handleEntityNotFound(_0x6bc806,null))[_0x1e55('0x20')](function(_0x3eea41){if(_0x3eea41){var _0x59d07c=_0x3eea41[_0x1e55('0x45')]({'plain':!![]});_0x59d07c=qs[_0x1e55('0x46')](_0x59d07c,['id',_0x1e55('0x47'),_0x1e55('0x48')]);_0xefe8c2[_0x1e55('0x49')]=_[_0x1e55('0x46')](_0xefe8c2[_0x1e55('0x49')],['id',_0x1e55('0x47'),_0x1e55('0x48')]);return db['Attachment']['create'](_[_0x1e55('0x39')](_0x59d07c,_0xefe8c2[_0x1e55('0x49')]),{'include':_0xefe8c2[_0x1e55('0x2c')][_0x1e55('0x3a')]?[{'all':!![]}]:undefined});}})[_0x1e55('0x20')](respondWithResult(_0x6bc806,0xc9))[_0x1e55('0x3f')](handleError(_0x6bc806,null));};exports[_0x1e55('0x1f')]=function(_0x4df261,_0xf69ce2){if(_0x4df261[_0x1e55('0x49')]['id']){delete _0x4df261['body']['id'];}return db[_0x1e55('0x3c')][_0x1e55('0x43')]({'where':{'id':_0x4df261[_0x1e55('0x40')]['id']}})['then'](handleEntityNotFound(_0xf69ce2,null))[_0x1e55('0x20')](saveUpdates(_0x4df261[_0x1e55('0x49')],null))['then'](respondWithResult(_0xf69ce2,null))[_0x1e55('0x3f')](handleError(_0xf69ce2,null));};exports[_0x1e55('0x21')]=function(_0x770a3e,_0x5315e8){return db['Attachment']['find']({'where':{'id':_0x770a3e[_0x1e55('0x40')]['id']}})[_0x1e55('0x20')](handleEntityNotFound(_0x5315e8,null))['then'](removeEntity(_0x5315e8,null))['catch'](handleError(_0x5315e8,null));};exports['create']=function(_0x1103cc,_0x220cb6,_0x2f5067){_0x1103cc[_0x1e55('0x49')][_0x1e55('0x25')]=_0x1103cc[_0x1e55('0x4a')][_0x1e55('0x4b')];_0x1103cc[_0x1e55('0x49')][_0x1e55('0x4c')]=_0x1103cc[_0x1e55('0x4a')]['filename'];_0x1103cc[_0x1e55('0x49')]['type']=_0x1103cc[_0x1e55('0x4a')][_0x1e55('0x4d')];return db[_0x1e55('0x3c')]['create'](_0x1103cc[_0x1e55('0x49')])[_0x1e55('0x20')](respondWithResult(_0x220cb6,0xc9))[_0x1e55('0x3f')](handleError(_0x220cb6,null));};exports[_0x1e55('0x4e')]=function(_0x3bbfd5,_0x2f90b6,_0x1f25f9){return db[_0x1e55('0x3c')][_0x1e55('0x4f')]({'where':{'id':_0x3bbfd5[_0x1e55('0x40')]['id']},'raw':!![]})[_0x1e55('0x20')](handleEntityNotFound(_0x2f90b6,null))[_0x1e55('0x20')](function(_0x1a0fe0){if(_0x1a0fe0){return _0x2f90b6[_0x1e55('0x4e')](path[_0x1e55('0x50')](config[_0x1e55('0x51')],_0x1e55('0x52'),_0x1a0fe0[_0x1e55('0x4c')]));}})[_0x1e55('0x3f')](handleError(_0x2f90b6,null));};