Built motion from commit (unavailable).|2.4.17
[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 _0x767e=['show','params','fields','options','find','get','createdAt','updatedAt','body','create','file','filename','download','join','root','server/files/attachments/','basename','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','ejs','crypto','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','index','map','Attachment','rawAttributes','type','key','keys','query','filters','intersection','attributes','model','length','nolimit','order','sort','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','catch'];(function(_0xf00425,_0x26c4ed){var _0x31b92d=function(_0x3afc94){while(--_0x3afc94){_0xf00425['push'](_0xf00425['shift']());}};_0x31b92d(++_0x26c4ed);}(_0x767e,0x1b0));var _0xe767=function(_0x47abac,_0x315c19){_0x47abac=_0x47abac-0x0;var _0x4b33c6=_0x767e[_0x47abac];return _0x4b33c6;};'use strict';var pdf=require(_0xe767('0x0'));var emlformat=require(_0xe767('0x1'));var rimraf=require(_0xe767('0x2'));var zipdir=require(_0xe767('0x3'));var jsonpatch=require(_0xe767('0x4'));var rp=require(_0xe767('0x5'));var moment=require(_0xe767('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xe767('0x7'));var path=require(_0xe767('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe767('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xe767('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xe767('0xb'));var toCsv=require(_0xe767('0xc'));var querystring=require(_0xe767('0xd'));var Papa=require(_0xe767('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xe767('0xf'));var as=require(_0xe767('0x10'));var hardwareService=require(_0xe767('0x11'));var logger=require(_0xe767('0x12'))(_0xe767('0x13'));var utils=require(_0xe767('0x14'));var config=require(_0xe767('0x15'));var db=require(_0xe767('0x16'))['db'];function respondWithStatusCode(_0x415383,_0x14adf0){_0x14adf0=_0x14adf0||0xcc;return function(_0x27bf0d){if(_0x27bf0d){return _0x415383[_0xe767('0x17')](_0x14adf0);}return _0x415383[_0xe767('0x18')](_0x14adf0)[_0xe767('0x19')]();};}function respondWithResult(_0x5ebb6f,_0x191649){_0x191649=_0x191649||0xc8;return function(_0x2620ff){if(_0x2620ff){return _0x5ebb6f['status'](_0x191649)[_0xe767('0x1a')](_0x2620ff);}};}function respondWithFilteredResult(_0x319295,_0x82aef6){return function(_0x3d4ed7){if(_0x3d4ed7){var _0x7cbbca=_0x3d4ed7[_0xe767('0x1b')],_0x4357d7=_0x82aef6['offset'],_0xd4f3dd=_0x82aef6[_0xe767('0x1c')]+_0x82aef6[_0xe767('0x1d')],_0x510c02;if(_0xd4f3dd>=_0x7cbbca){_0xd4f3dd=_0x7cbbca;_0x510c02=0xc8;}else{_0x510c02=0xce;}_0x319295['status'](_0x510c02);return _0x319295[_0xe767('0x1e')](_0xe767('0x1f'),_0x4357d7+'-'+_0xd4f3dd+'/'+_0x7cbbca)[_0xe767('0x1a')](_0x3d4ed7);}return null;};}function patchUpdates(_0x36cb3e){return function(_0x2cbe40){try{jsonpatch[_0xe767('0x20')](_0x2cbe40,_0x36cb3e,!![]);}catch(_0x27c098){return BPromise[_0xe767('0x21')](_0x27c098);}return _0x2cbe40[_0xe767('0x22')]();};}function saveUpdates(_0x4bb6ff,_0x586679){return function(_0x3e4b76){if(_0x3e4b76){return _0x3e4b76[_0xe767('0x23')](_0x4bb6ff)['then'](function(_0x566e33){return _0x566e33;});}return null;};}function removeEntity(_0x398991,_0x25bbc1){return function(_0x2a2519){if(_0x2a2519){return _0x2a2519[_0xe767('0x24')]()[_0xe767('0x25')](function(){_0x398991[_0xe767('0x18')](0xcc)[_0xe767('0x19')]();});}};}function handleEntityNotFound(_0x46fcf5,_0x51591d){return function(_0x583901){if(!_0x583901){_0x46fcf5[_0xe767('0x17')](0x194);}return _0x583901;};}function handleError(_0x261934,_0x31c265){_0x31c265=_0x31c265||0x1f4;return function(_0x520463){logger[_0xe767('0x26')](_0x520463[_0xe767('0x27')]);if(_0x520463[_0xe767('0x28')]){delete _0x520463[_0xe767('0x28')];}_0x261934['status'](_0x31c265)['send'](_0x520463);};}exports[_0xe767('0x29')]=function(_0x31a589,_0x1075aa){var _0x50399a={},_0x10edb7={},_0x39aeeb={'count':0x0,'rows':[]};var _0x152383=_[_0xe767('0x2a')](db[_0xe767('0x2b')][_0xe767('0x2c')],function(_0x4e4949){return{'name':_0x4e4949['fieldName'],'type':_0x4e4949[_0xe767('0x2d')][_0xe767('0x2e')]};});_0x10edb7['model']=_['map'](_0x152383,'name');_0x10edb7['query']=_[_0xe767('0x2f')](_0x31a589[_0xe767('0x30')]);_0x10edb7[_0xe767('0x31')]=_[_0xe767('0x32')](_0x10edb7['model'],_0x10edb7[_0xe767('0x30')]);_0x50399a[_0xe767('0x33')]=_['intersection'](_0x10edb7[_0xe767('0x34')],qs['fields'](_0x31a589[_0xe767('0x30')]['fields']));_0x50399a[_0xe767('0x33')]=_0x50399a[_0xe767('0x33')][_0xe767('0x35')]?_0x50399a[_0xe767('0x33')]:_0x10edb7[_0xe767('0x34')];if(!_0x31a589[_0xe767('0x30')]['hasOwnProperty'](_0xe767('0x36'))){_0x50399a['limit']=qs[_0xe767('0x1d')](_0x31a589[_0xe767('0x30')][_0xe767('0x1d')]);_0x50399a[_0xe767('0x1c')]=qs[_0xe767('0x1c')](_0x31a589[_0xe767('0x30')]['offset']);}_0x50399a[_0xe767('0x37')]=qs[_0xe767('0x38')](_0x31a589[_0xe767('0x30')][_0xe767('0x38')]);_0x50399a['where']=qs['filters'](_['pick'](_0x31a589[_0xe767('0x30')],_0x10edb7[_0xe767('0x31')]));if(_0x31a589[_0xe767('0x30')][_0xe767('0x39')]){_0x50399a[_0xe767('0x3a')]=_[_0xe767('0x3b')](_0x50399a[_0xe767('0x3a')],{'$or':_[_0xe767('0x2a')](_0x152383,function(_0x384dea){if(_0x384dea[_0xe767('0x2d')]!==_0xe767('0x3c')){var _0x4676f3={};_0x4676f3[_0x384dea[_0xe767('0x28')]]={'$like':'%'+_0x31a589[_0xe767('0x30')]['filter']+'%'};return _0x4676f3;}})});}_0x50399a=_[_0xe767('0x3b')]({},_0x50399a,_0x31a589['options']);var _0x5e946a={'where':_0x50399a[_0xe767('0x3a')]};return db[_0xe767('0x2b')][_0xe767('0x1b')](_0x5e946a)[_0xe767('0x25')](function(_0xa47842){_0x39aeeb[_0xe767('0x1b')]=_0xa47842;if(_0x31a589[_0xe767('0x30')][_0xe767('0x3d')]){_0x50399a[_0xe767('0x3e')]=[{'all':!![]}];}return db[_0xe767('0x2b')][_0xe767('0x3f')](_0x50399a);})[_0xe767('0x25')](function(_0x120389){_0x39aeeb[_0xe767('0x40')]=_0x120389;return _0x39aeeb;})[_0xe767('0x25')](respondWithFilteredResult(_0x1075aa,_0x50399a))[_0xe767('0x41')](handleError(_0x1075aa,null));};exports[_0xe767('0x42')]=function(_0x2f15a5,_0x32e0d1){var _0x2152eb={'raw':!![],'where':{'id':_0x2f15a5[_0xe767('0x43')]['id']}},_0xcc6069={};_0xcc6069[_0xe767('0x34')]=_[_0xe767('0x2f')](db[_0xe767('0x2b')][_0xe767('0x2c')]);_0xcc6069[_0xe767('0x30')]=_[_0xe767('0x2f')](_0x2f15a5['query']);_0xcc6069[_0xe767('0x31')]=_[_0xe767('0x32')](_0xcc6069[_0xe767('0x34')],_0xcc6069[_0xe767('0x30')]);_0x2152eb['attributes']=_[_0xe767('0x32')](_0xcc6069[_0xe767('0x34')],qs[_0xe767('0x44')](_0x2f15a5[_0xe767('0x30')][_0xe767('0x44')]));_0x2152eb[_0xe767('0x33')]=_0x2152eb['attributes']['length']?_0x2152eb[_0xe767('0x33')]:_0xcc6069[_0xe767('0x34')];if(_0x2f15a5[_0xe767('0x30')]['includeAll']){_0x2152eb[_0xe767('0x3e')]=[{'all':!![]}];}_0x2152eb=_['merge']({},_0x2152eb,_0x2f15a5[_0xe767('0x45')]);return db[_0xe767('0x2b')]['find'](_0x2152eb)[_0xe767('0x25')](handleEntityNotFound(_0x32e0d1,null))[_0xe767('0x25')](respondWithResult(_0x32e0d1,null))[_0xe767('0x41')](handleError(_0x32e0d1,null));};exports['clone']=function(_0x36f22e,_0x56e120){var _0x27e69d={'where':{'id':_0x36f22e[_0xe767('0x43')]['id']}},_0x23b72e={};_0x23b72e[_0xe767('0x34')]=_[_0xe767('0x2f')](db[_0xe767('0x2b')]['rawAttributes']);_0x27e69d[_0xe767('0x33')]=_[_0xe767('0x32')](_0x23b72e[_0xe767('0x34')],qs['fields'](_0x36f22e[_0xe767('0x30')][_0xe767('0x44')]));_0x27e69d[_0xe767('0x33')]=_0x27e69d[_0xe767('0x33')][_0xe767('0x35')]?_0x27e69d[_0xe767('0x33')]:_0x23b72e[_0xe767('0x34')];if(_0x36f22e[_0xe767('0x30')][_0xe767('0x3d')]){_0x27e69d[_0xe767('0x3e')]=[{'all':!![]}];}_0x27e69d=_['merge']({},_0x27e69d,_0x36f22e[_0xe767('0x45')]);return db[_0xe767('0x2b')][_0xe767('0x46')](_0x27e69d)[_0xe767('0x25')](handleEntityNotFound(_0x56e120,null))[_0xe767('0x25')](function(_0x2cc1e4){if(_0x2cc1e4){var _0x135e25=_0x2cc1e4[_0xe767('0x47')]({'plain':!![]});_0x135e25=qs['omit'](_0x135e25,['id',_0xe767('0x48'),_0xe767('0x49')]);_0x36f22e['body']=_['omit'](_0x36f22e[_0xe767('0x4a')],['id','createdAt',_0xe767('0x49')]);return db['Attachment']['create'](_[_0xe767('0x3b')](_0x135e25,_0x36f22e['body']),{'include':_0x36f22e[_0xe767('0x30')][_0xe767('0x3d')]?[{'all':!![]}]:undefined});}})[_0xe767('0x25')](respondWithResult(_0x56e120,0xc9))[_0xe767('0x41')](handleError(_0x56e120,null));};exports[_0xe767('0x23')]=function(_0x17ff0d,_0xddaa60){if(_0x17ff0d['body']['id']){delete _0x17ff0d[_0xe767('0x4a')]['id'];}return db['Attachment']['find']({'where':{'id':_0x17ff0d[_0xe767('0x43')]['id']}})[_0xe767('0x25')](handleEntityNotFound(_0xddaa60,null))[_0xe767('0x25')](saveUpdates(_0x17ff0d[_0xe767('0x4a')],null))[_0xe767('0x25')](respondWithResult(_0xddaa60,null))[_0xe767('0x41')](handleError(_0xddaa60,null));};exports[_0xe767('0x24')]=function(_0x5e2d6b,_0x58dd34){return db[_0xe767('0x2b')][_0xe767('0x46')]({'where':{'id':_0x5e2d6b[_0xe767('0x43')]['id']}})[_0xe767('0x25')](handleEntityNotFound(_0x58dd34,null))[_0xe767('0x25')](removeEntity(_0x58dd34,null))[_0xe767('0x41')](handleError(_0x58dd34,null));};exports[_0xe767('0x4b')]=function(_0x1408fc,_0x5b41b1,_0x5bf13b){_0x1408fc[_0xe767('0x4a')]['name']=_0x1408fc[_0xe767('0x4c')]['originalname'];_0x1408fc[_0xe767('0x4a')]['basename']=_0x1408fc[_0xe767('0x4c')][_0xe767('0x4d')];_0x1408fc[_0xe767('0x4a')][_0xe767('0x2d')]=_0x1408fc[_0xe767('0x4c')]['mimetype'];return db[_0xe767('0x2b')]['create'](_0x1408fc[_0xe767('0x4a')])['then'](respondWithResult(_0x5b41b1,0xc9))[_0xe767('0x41')](handleError(_0x5b41b1,null));};exports[_0xe767('0x4e')]=function(_0x16d72d,_0x2817fe,_0x177747){return db[_0xe767('0x2b')]['findOne']({'where':{'id':_0x16d72d[_0xe767('0x43')]['id']},'raw':!![]})[_0xe767('0x25')](handleEntityNotFound(_0x2817fe,null))['then'](function(_0x5c56d9){if(_0x5c56d9){return _0x2817fe[_0xe767('0x4e')](path[_0xe767('0x4f')](config[_0xe767('0x50')],_0xe767('0x51'),_0x5c56d9[_0xe767('0x52')]));}})[_0xe767('0x41')](handleError(_0x2817fe,null));};