Built motion from commit (unavailable).|2.5.7
[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 _0xdea9=['body','create','file','originalname','basename','mimetype','download','join','server/files/attachments/','html-pdf','rimraf','moment','bluebird','mustache','util','path','to-csv','ejs','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','reject','save','update','then','destroy','error','stack','name','send','map','Attachment','rawAttributes','fieldName','type','model','query','intersection','fields','attributes','length','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','count','include','findAll','catch','params','keys','includeAll','options','find','get','omit','createdAt','updatedAt'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xdea9,0xad));var _0x9dea=function(_0x160c73,_0x2ee678){_0x160c73=_0x160c73-0x0;var _0xd9302=_0xdea9[_0x160c73];return _0xd9302;};'use strict';var pdf=require(_0x9dea('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9dea('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x9dea('0x2'));var BPromise=require(_0x9dea('0x3'));var Mustache=require(_0x9dea('0x4'));var util=require(_0x9dea('0x5'));var path=require(_0x9dea('0x6'));var sox=require('sox');var csv=require(_0x9dea('0x7'));var ejs=require(_0x9dea('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x9dea('0x9'));var crypto=require(_0x9dea('0xa'));var jsforce=require(_0x9dea('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9dea('0xc'));var Papa=require(_0x9dea('0xd'));var Redis=require(_0x9dea('0xe'));var authService=require(_0x9dea('0xf'));var qs=require(_0x9dea('0x10'));var as=require(_0x9dea('0x11'));var hardwareService=require(_0x9dea('0x12'));var logger=require(_0x9dea('0x13'))(_0x9dea('0x14'));var utils=require(_0x9dea('0x15'));var config=require(_0x9dea('0x16'));var licenseUtil=require(_0x9dea('0x17'));var db=require(_0x9dea('0x18'))['db'];function respondWithStatusCode(_0x34ce81,_0x16fc03){_0x16fc03=_0x16fc03||0xcc;return function(_0x31b91c){if(_0x31b91c){return _0x34ce81[_0x9dea('0x19')](_0x16fc03);}return _0x34ce81[_0x9dea('0x1a')](_0x16fc03)[_0x9dea('0x1b')]();};}function respondWithResult(_0x259b57,_0x28858b){_0x28858b=_0x28858b||0xc8;return function(_0x4e1eb9){if(_0x4e1eb9){return _0x259b57[_0x9dea('0x1a')](_0x28858b)[_0x9dea('0x1c')](_0x4e1eb9);}};}function respondWithFilteredResult(_0x279aea,_0x7102a2){return function(_0x45c684){if(_0x45c684){var _0x9c6f55=_0x45c684['count'],_0x4a31d2=_0x7102a2[_0x9dea('0x1d')],_0x4fed22=_0x7102a2['offset']+_0x7102a2[_0x9dea('0x1e')],_0x4b848f;if(_0x4fed22>=_0x9c6f55){_0x4fed22=_0x9c6f55;_0x4b848f=0xc8;}else{_0x4b848f=0xce;}_0x279aea[_0x9dea('0x1a')](_0x4b848f);return _0x279aea['set']('Content-Range',_0x4a31d2+'-'+_0x4fed22+'/'+_0x9c6f55)['json'](_0x45c684);}return null;};}function patchUpdates(_0x5bda6d){return function(_0x5c2e7d){try{jsonpatch['apply'](_0x5c2e7d,_0x5bda6d,!![]);}catch(_0x252cb6){return BPromise[_0x9dea('0x1f')](_0x252cb6);}return _0x5c2e7d[_0x9dea('0x20')]();};}function saveUpdates(_0x54b754,_0x4fad17){return function(_0x4b78e9){if(_0x4b78e9){return _0x4b78e9[_0x9dea('0x21')](_0x54b754)[_0x9dea('0x22')](function(_0x264275){return _0x264275;});}return null;};}function removeEntity(_0x3da66c,_0x1489ad){return function(_0x2f652f){if(_0x2f652f){return _0x2f652f[_0x9dea('0x23')]()[_0x9dea('0x22')](function(){_0x3da66c[_0x9dea('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e3021,_0x4af2d7){return function(_0x3f328c){if(!_0x3f328c){_0x2e3021[_0x9dea('0x19')](0x194);}return _0x3f328c;};}function handleError(_0x31bbcf,_0x465ef8){_0x465ef8=_0x465ef8||0x1f4;return function(_0x5ea28e){logger[_0x9dea('0x24')](_0x5ea28e[_0x9dea('0x25')]);if(_0x5ea28e[_0x9dea('0x26')]){delete _0x5ea28e[_0x9dea('0x26')];}_0x31bbcf[_0x9dea('0x1a')](_0x465ef8)[_0x9dea('0x27')](_0x5ea28e);};}exports['index']=function(_0x259170,_0x3ee6f1){var _0x441fcd={},_0x4f693d={},_0x494fdd={'count':0x0,'rows':[]};var _0x5e0ac9=_[_0x9dea('0x28')](db[_0x9dea('0x29')][_0x9dea('0x2a')],function(_0xcf4cd3){return{'name':_0xcf4cd3[_0x9dea('0x2b')],'type':_0xcf4cd3[_0x9dea('0x2c')]['key']};});_0x4f693d[_0x9dea('0x2d')]=_[_0x9dea('0x28')](_0x5e0ac9,'name');_0x4f693d[_0x9dea('0x2e')]=_['keys'](_0x259170[_0x9dea('0x2e')]);_0x4f693d['filters']=_['intersection'](_0x4f693d[_0x9dea('0x2d')],_0x4f693d['query']);_0x441fcd['attributes']=_[_0x9dea('0x2f')](_0x4f693d['model'],qs[_0x9dea('0x30')](_0x259170[_0x9dea('0x2e')]['fields']));_0x441fcd[_0x9dea('0x31')]=_0x441fcd[_0x9dea('0x31')][_0x9dea('0x32')]?_0x441fcd['attributes']:_0x4f693d[_0x9dea('0x2d')];if(!_0x259170[_0x9dea('0x2e')]['hasOwnProperty'](_0x9dea('0x33'))){_0x441fcd[_0x9dea('0x1e')]=qs[_0x9dea('0x1e')](_0x259170['query'][_0x9dea('0x1e')]);_0x441fcd[_0x9dea('0x1d')]=qs[_0x9dea('0x1d')](_0x259170[_0x9dea('0x2e')][_0x9dea('0x1d')]);}_0x441fcd[_0x9dea('0x34')]=qs[_0x9dea('0x35')](_0x259170[_0x9dea('0x2e')][_0x9dea('0x35')]);_0x441fcd[_0x9dea('0x36')]=qs[_0x9dea('0x37')](_[_0x9dea('0x38')](_0x259170[_0x9dea('0x2e')],_0x4f693d['filters']),_0x5e0ac9);if(_0x259170['query'][_0x9dea('0x39')]){_0x441fcd[_0x9dea('0x36')]=_[_0x9dea('0x3a')](_0x441fcd[_0x9dea('0x36')],{'$or':_['map'](_0x5e0ac9,function(_0x553c3a){if(_0x553c3a[_0x9dea('0x2c')]!==_0x9dea('0x3b')){var _0x1e4c7a={};_0x1e4c7a[_0x553c3a['name']]={'$like':'%'+_0x259170[_0x9dea('0x2e')]['filter']+'%'};return _0x1e4c7a;}})});}_0x441fcd=_[_0x9dea('0x3a')]({},_0x441fcd,_0x259170['options']);var _0x1d0664={'where':_0x441fcd[_0x9dea('0x36')]};return db[_0x9dea('0x29')][_0x9dea('0x3c')](_0x1d0664)[_0x9dea('0x22')](function(_0x1798c1){_0x494fdd[_0x9dea('0x3c')]=_0x1798c1;if(_0x259170[_0x9dea('0x2e')]['includeAll']){_0x441fcd[_0x9dea('0x3d')]=[{'all':!![]}];}return db[_0x9dea('0x29')][_0x9dea('0x3e')](_0x441fcd);})[_0x9dea('0x22')](function(_0x64278a){_0x494fdd['rows']=_0x64278a;return _0x494fdd;})[_0x9dea('0x22')](respondWithFilteredResult(_0x3ee6f1,_0x441fcd))[_0x9dea('0x3f')](handleError(_0x3ee6f1,null));};exports['show']=function(_0x435319,_0x1a30fb){var _0x5de4af={'raw':!![],'where':{'id':_0x435319[_0x9dea('0x40')]['id']}},_0x58f2ad={};_0x58f2ad['model']=_[_0x9dea('0x41')](db['Attachment'][_0x9dea('0x2a')]);_0x58f2ad[_0x9dea('0x2e')]=_[_0x9dea('0x41')](_0x435319[_0x9dea('0x2e')]);_0x58f2ad[_0x9dea('0x37')]=_[_0x9dea('0x2f')](_0x58f2ad[_0x9dea('0x2d')],_0x58f2ad['query']);_0x5de4af['attributes']=_[_0x9dea('0x2f')](_0x58f2ad[_0x9dea('0x2d')],qs[_0x9dea('0x30')](_0x435319[_0x9dea('0x2e')][_0x9dea('0x30')]));_0x5de4af[_0x9dea('0x31')]=_0x5de4af['attributes']['length']?_0x5de4af['attributes']:_0x58f2ad[_0x9dea('0x2d')];if(_0x435319[_0x9dea('0x2e')][_0x9dea('0x42')]){_0x5de4af[_0x9dea('0x3d')]=[{'all':!![]}];}_0x5de4af=_['merge']({},_0x5de4af,_0x435319[_0x9dea('0x43')]);return db[_0x9dea('0x29')][_0x9dea('0x44')](_0x5de4af)[_0x9dea('0x22')](handleEntityNotFound(_0x1a30fb,null))[_0x9dea('0x22')](respondWithResult(_0x1a30fb,null))[_0x9dea('0x3f')](handleError(_0x1a30fb,null));};exports['clone']=function(_0x5e3395,_0x3a94ae){var _0x4d8b45={'where':{'id':_0x5e3395['params']['id']}},_0x33cb23={};_0x33cb23[_0x9dea('0x2d')]=_[_0x9dea('0x41')](db[_0x9dea('0x29')][_0x9dea('0x2a')]);_0x4d8b45[_0x9dea('0x31')]=_['intersection'](_0x33cb23[_0x9dea('0x2d')],qs[_0x9dea('0x30')](_0x5e3395[_0x9dea('0x2e')][_0x9dea('0x30')]));_0x4d8b45[_0x9dea('0x31')]=_0x4d8b45[_0x9dea('0x31')]['length']?_0x4d8b45[_0x9dea('0x31')]:_0x33cb23['model'];if(_0x5e3395[_0x9dea('0x2e')][_0x9dea('0x42')]){_0x4d8b45[_0x9dea('0x3d')]=[{'all':!![]}];}_0x4d8b45=_[_0x9dea('0x3a')]({},_0x4d8b45,_0x5e3395[_0x9dea('0x43')]);return db[_0x9dea('0x29')][_0x9dea('0x44')](_0x4d8b45)[_0x9dea('0x22')](handleEntityNotFound(_0x3a94ae,null))[_0x9dea('0x22')](function(_0x389d98){if(_0x389d98){var _0x5d54f9=_0x389d98[_0x9dea('0x45')]({'plain':!![]});_0x5d54f9=qs[_0x9dea('0x46')](_0x5d54f9,['id',_0x9dea('0x47'),_0x9dea('0x48')]);_0x5e3395[_0x9dea('0x49')]=_['omit'](_0x5e3395[_0x9dea('0x49')],['id','createdAt','updatedAt']);return db['Attachment'][_0x9dea('0x4a')](_[_0x9dea('0x3a')](_0x5d54f9,_0x5e3395[_0x9dea('0x49')]),{'include':_0x5e3395[_0x9dea('0x2e')][_0x9dea('0x42')]?[{'all':!![]}]:undefined});}})[_0x9dea('0x22')](respondWithResult(_0x3a94ae,0xc9))[_0x9dea('0x3f')](handleError(_0x3a94ae,null));};exports['update']=function(_0x293ea3,_0x5db7ed){if(_0x293ea3['body']['id']){delete _0x293ea3[_0x9dea('0x49')]['id'];}return db[_0x9dea('0x29')][_0x9dea('0x44')]({'where':{'id':_0x293ea3[_0x9dea('0x40')]['id']}})['then'](handleEntityNotFound(_0x5db7ed,null))[_0x9dea('0x22')](saveUpdates(_0x293ea3[_0x9dea('0x49')],null))[_0x9dea('0x22')](respondWithResult(_0x5db7ed,null))[_0x9dea('0x3f')](handleError(_0x5db7ed,null));};exports['destroy']=function(_0x1a3c1c,_0x571d14){return db[_0x9dea('0x29')][_0x9dea('0x44')]({'where':{'id':_0x1a3c1c['params']['id']}})['then'](handleEntityNotFound(_0x571d14,null))['then'](removeEntity(_0x571d14,null))[_0x9dea('0x3f')](handleError(_0x571d14,null));};exports['create']=function(_0x1a7f6d,_0x5a7a5c,_0x93bc8f){_0x1a7f6d[_0x9dea('0x49')][_0x9dea('0x26')]=_0x1a7f6d[_0x9dea('0x4b')][_0x9dea('0x4c')];_0x1a7f6d['body'][_0x9dea('0x4d')]=_0x1a7f6d[_0x9dea('0x4b')]['filename'];_0x1a7f6d[_0x9dea('0x49')][_0x9dea('0x2c')]=_0x1a7f6d[_0x9dea('0x4b')][_0x9dea('0x4e')];return db[_0x9dea('0x29')][_0x9dea('0x4a')](_0x1a7f6d[_0x9dea('0x49')])[_0x9dea('0x22')](respondWithResult(_0x5a7a5c,0xc9))[_0x9dea('0x3f')](handleError(_0x5a7a5c,null));};exports['download']=function(_0xb6c6d5,_0x296404,_0x5ca399){return db['Attachment']['findOne']({'where':{'id':_0xb6c6d5[_0x9dea('0x40')]['id']},'raw':!![]})[_0x9dea('0x22')](handleEntityNotFound(_0x296404,null))['then'](function(_0x259bfd){if(_0x259bfd){return _0x296404[_0x9dea('0x4f')](path[_0x9dea('0x50')](config['root'],_0x9dea('0x51'),_0x259bfd[_0x9dea('0x4d')]));}})[_0x9dea('0x3f')](handleError(_0x296404,null));};