Built motion from commit (unavailable).|2.5.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 _0x19fa=['name','index','map','Attachment','rawAttributes','fieldName','key','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','catch','params','keys','options','clone','find','omit','body','createdAt','create','file','originalname','basename','type','mimetype','download','join','root','server/files/attachments/','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','limit','set','save','update','then','destroy','error','stack'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0x19fa,0x121));var _0xa19f=function(_0x4eb132,_0x3a235d){_0x4eb132=_0x4eb132-0x0;var _0x2e1fb4=_0x19fa[_0x4eb132];return _0x2e1fb4;};'use strict';var pdf=require(_0xa19f('0x0'));var emlformat=require(_0xa19f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa19f('0x2'));var jsonpatch=require(_0xa19f('0x3'));var rp=require(_0xa19f('0x4'));var moment=require(_0xa19f('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xa19f('0x6'));var util=require(_0xa19f('0x7'));var path=require(_0xa19f('0x8'));var sox=require(_0xa19f('0x9'));var csv=require(_0xa19f('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xa19f('0xb'));var squel=require(_0xa19f('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xa19f('0xa'));var querystring=require(_0xa19f('0xd'));var Papa=require('papaparse');var Redis=require(_0xa19f('0xe'));var authService=require(_0xa19f('0xf'));var qs=require(_0xa19f('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa19f('0x11'));var logger=require(_0xa19f('0x12'))(_0xa19f('0x13'));var utils=require(_0xa19f('0x14'));var config=require(_0xa19f('0x15'));var licenseUtil=require(_0xa19f('0x16'));var db=require(_0xa19f('0x17'))['db'];function respondWithStatusCode(_0x396da7,_0xe18e6f){_0xe18e6f=_0xe18e6f||0xcc;return function(_0x5e51c7){if(_0x5e51c7){return _0x396da7[_0xa19f('0x18')](_0xe18e6f);}return _0x396da7[_0xa19f('0x19')](_0xe18e6f)['end']();};}function respondWithResult(_0x3e5c61,_0x4252d3){_0x4252d3=_0x4252d3||0xc8;return function(_0x259afd){if(_0x259afd){return _0x3e5c61['status'](_0x4252d3)['json'](_0x259afd);}};}function respondWithFilteredResult(_0x14f072,_0x4034dc){return function(_0x156e56){if(_0x156e56){var _0x227999=_0x156e56['count'],_0x18e486=_0x4034dc[_0xa19f('0x1a')],_0xee650e=_0x4034dc[_0xa19f('0x1a')]+_0x4034dc[_0xa19f('0x1b')],_0x5e94bf;if(_0xee650e>=_0x227999){_0xee650e=_0x227999;_0x5e94bf=0xc8;}else{_0x5e94bf=0xce;}_0x14f072[_0xa19f('0x19')](_0x5e94bf);return _0x14f072[_0xa19f('0x1c')]('Content-Range',_0x18e486+'-'+_0xee650e+'/'+_0x227999)['json'](_0x156e56);}return null;};}function patchUpdates(_0x58a501){return function(_0x272064){try{jsonpatch['apply'](_0x272064,_0x58a501,!![]);}catch(_0x8e75e2){return BPromise['reject'](_0x8e75e2);}return _0x272064[_0xa19f('0x1d')]();};}function saveUpdates(_0x30b55e,_0x589325){return function(_0x24a014){if(_0x24a014){return _0x24a014[_0xa19f('0x1e')](_0x30b55e)[_0xa19f('0x1f')](function(_0x9421b7){return _0x9421b7;});}return null;};}function removeEntity(_0x3f1700,_0x3db0c6){return function(_0x29328c){if(_0x29328c){return _0x29328c[_0xa19f('0x20')]()[_0xa19f('0x1f')](function(){_0x3f1700[_0xa19f('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a1aa5,_0x10831b){return function(_0x5e11a8){if(!_0x5e11a8){_0x5a1aa5[_0xa19f('0x18')](0x194);}return _0x5e11a8;};}function handleError(_0x4d6653,_0x25aa4e){_0x25aa4e=_0x25aa4e||0x1f4;return function(_0x2748a2){logger[_0xa19f('0x21')](_0x2748a2[_0xa19f('0x22')]);if(_0x2748a2[_0xa19f('0x23')]){delete _0x2748a2[_0xa19f('0x23')];}_0x4d6653['status'](_0x25aa4e)['send'](_0x2748a2);};}exports[_0xa19f('0x24')]=function(_0x3c4196,_0x4e07b8){var _0x38cbf3={},_0x49f0f2={},_0x419aa0={'count':0x0,'rows':[]};var _0x33ddb1=_[_0xa19f('0x25')](db[_0xa19f('0x26')][_0xa19f('0x27')],function(_0x4da02c){return{'name':_0x4da02c[_0xa19f('0x28')],'type':_0x4da02c['type'][_0xa19f('0x29')]};});_0x49f0f2[_0xa19f('0x2a')]=_['map'](_0x33ddb1,_0xa19f('0x23'));_0x49f0f2[_0xa19f('0x2b')]=_['keys'](_0x3c4196['query']);_0x49f0f2['filters']=_['intersection'](_0x49f0f2[_0xa19f('0x2a')],_0x49f0f2['query']);_0x38cbf3[_0xa19f('0x2c')]=_[_0xa19f('0x2d')](_0x49f0f2[_0xa19f('0x2a')],qs['fields'](_0x3c4196[_0xa19f('0x2b')][_0xa19f('0x2e')]));_0x38cbf3[_0xa19f('0x2c')]=_0x38cbf3[_0xa19f('0x2c')][_0xa19f('0x2f')]?_0x38cbf3['attributes']:_0x49f0f2[_0xa19f('0x2a')];if(!_0x3c4196[_0xa19f('0x2b')][_0xa19f('0x30')](_0xa19f('0x31'))){_0x38cbf3[_0xa19f('0x1b')]=qs['limit'](_0x3c4196[_0xa19f('0x2b')][_0xa19f('0x1b')]);_0x38cbf3[_0xa19f('0x1a')]=qs[_0xa19f('0x1a')](_0x3c4196[_0xa19f('0x2b')]['offset']);}_0x38cbf3[_0xa19f('0x32')]=qs[_0xa19f('0x33')](_0x3c4196[_0xa19f('0x2b')][_0xa19f('0x33')]);_0x38cbf3['where']=qs[_0xa19f('0x34')](_[_0xa19f('0x35')](_0x3c4196[_0xa19f('0x2b')],_0x49f0f2['filters']),_0x33ddb1);if(_0x3c4196[_0xa19f('0x2b')][_0xa19f('0x36')]){_0x38cbf3[_0xa19f('0x37')]=_[_0xa19f('0x38')](_0x38cbf3[_0xa19f('0x37')],{'$or':_[_0xa19f('0x25')](_0x33ddb1,function(_0x329c06){if(_0x329c06['type']!==_0xa19f('0x39')){var _0x4eb140={};_0x4eb140[_0x329c06[_0xa19f('0x23')]]={'$like':'%'+_0x3c4196[_0xa19f('0x2b')][_0xa19f('0x36')]+'%'};return _0x4eb140;}})});}_0x38cbf3=_[_0xa19f('0x38')]({},_0x38cbf3,_0x3c4196['options']);var _0x3fbd35={'where':_0x38cbf3[_0xa19f('0x37')]};return db['Attachment']['count'](_0x3fbd35)[_0xa19f('0x1f')](function(_0x12cdd6){_0x419aa0['count']=_0x12cdd6;if(_0x3c4196[_0xa19f('0x2b')][_0xa19f('0x3a')]){_0x38cbf3[_0xa19f('0x3b')]=[{'all':!![]}];}return db[_0xa19f('0x26')][_0xa19f('0x3c')](_0x38cbf3);})['then'](function(_0xee0dd9){_0x419aa0[_0xa19f('0x3d')]=_0xee0dd9;return _0x419aa0;})[_0xa19f('0x1f')](respondWithFilteredResult(_0x4e07b8,_0x38cbf3))[_0xa19f('0x3e')](handleError(_0x4e07b8,null));};exports['show']=function(_0x499f49,_0xa93fd4){var _0x215978={'raw':!![],'where':{'id':_0x499f49[_0xa19f('0x3f')]['id']}},_0x18a29d={};_0x18a29d['model']=_[_0xa19f('0x40')](db[_0xa19f('0x26')][_0xa19f('0x27')]);_0x18a29d['query']=_['keys'](_0x499f49[_0xa19f('0x2b')]);_0x18a29d[_0xa19f('0x34')]=_[_0xa19f('0x2d')](_0x18a29d[_0xa19f('0x2a')],_0x18a29d['query']);_0x215978[_0xa19f('0x2c')]=_['intersection'](_0x18a29d['model'],qs[_0xa19f('0x2e')](_0x499f49['query'][_0xa19f('0x2e')]));_0x215978[_0xa19f('0x2c')]=_0x215978['attributes']['length']?_0x215978[_0xa19f('0x2c')]:_0x18a29d['model'];if(_0x499f49[_0xa19f('0x2b')][_0xa19f('0x3a')]){_0x215978[_0xa19f('0x3b')]=[{'all':!![]}];}_0x215978=_[_0xa19f('0x38')]({},_0x215978,_0x499f49[_0xa19f('0x41')]);return db[_0xa19f('0x26')]['find'](_0x215978)[_0xa19f('0x1f')](handleEntityNotFound(_0xa93fd4,null))[_0xa19f('0x1f')](respondWithResult(_0xa93fd4,null))[_0xa19f('0x3e')](handleError(_0xa93fd4,null));};exports[_0xa19f('0x42')]=function(_0x43cc62,_0x2e9ae1){var _0x25dd60={'where':{'id':_0x43cc62[_0xa19f('0x3f')]['id']}},_0x440896={};_0x440896[_0xa19f('0x2a')]=_[_0xa19f('0x40')](db['Attachment'][_0xa19f('0x27')]);_0x25dd60['attributes']=_[_0xa19f('0x2d')](_0x440896[_0xa19f('0x2a')],qs[_0xa19f('0x2e')](_0x43cc62[_0xa19f('0x2b')]['fields']));_0x25dd60['attributes']=_0x25dd60[_0xa19f('0x2c')][_0xa19f('0x2f')]?_0x25dd60['attributes']:_0x440896[_0xa19f('0x2a')];if(_0x43cc62[_0xa19f('0x2b')][_0xa19f('0x3a')]){_0x25dd60[_0xa19f('0x3b')]=[{'all':!![]}];}_0x25dd60=_['merge']({},_0x25dd60,_0x43cc62['options']);return db[_0xa19f('0x26')][_0xa19f('0x43')](_0x25dd60)['then'](handleEntityNotFound(_0x2e9ae1,null))['then'](function(_0x2a71f3){if(_0x2a71f3){var _0x234b2d=_0x2a71f3['get']({'plain':!![]});_0x234b2d=qs[_0xa19f('0x44')](_0x234b2d,['id','createdAt','updatedAt']);_0x43cc62[_0xa19f('0x45')]=_[_0xa19f('0x44')](_0x43cc62[_0xa19f('0x45')],['id',_0xa19f('0x46'),'updatedAt']);return db[_0xa19f('0x26')]['create'](_[_0xa19f('0x38')](_0x234b2d,_0x43cc62[_0xa19f('0x45')]),{'include':_0x43cc62[_0xa19f('0x2b')][_0xa19f('0x3a')]?[{'all':!![]}]:undefined});}})[_0xa19f('0x1f')](respondWithResult(_0x2e9ae1,0xc9))['catch'](handleError(_0x2e9ae1,null));};exports[_0xa19f('0x1e')]=function(_0x59de33,_0x305d44){if(_0x59de33[_0xa19f('0x45')]['id']){delete _0x59de33[_0xa19f('0x45')]['id'];}return db[_0xa19f('0x26')][_0xa19f('0x43')]({'where':{'id':_0x59de33[_0xa19f('0x3f')]['id']}})['then'](handleEntityNotFound(_0x305d44,null))['then'](saveUpdates(_0x59de33[_0xa19f('0x45')],null))[_0xa19f('0x1f')](respondWithResult(_0x305d44,null))['catch'](handleError(_0x305d44,null));};exports['destroy']=function(_0x2210a8,_0x416e26){return db[_0xa19f('0x26')][_0xa19f('0x43')]({'where':{'id':_0x2210a8[_0xa19f('0x3f')]['id']}})[_0xa19f('0x1f')](handleEntityNotFound(_0x416e26,null))[_0xa19f('0x1f')](removeEntity(_0x416e26,null))[_0xa19f('0x3e')](handleError(_0x416e26,null));};exports[_0xa19f('0x47')]=function(_0x55a9b1,_0x1c9d1d,_0x235f3c){_0x55a9b1[_0xa19f('0x45')]['name']=_0x55a9b1[_0xa19f('0x48')][_0xa19f('0x49')];_0x55a9b1[_0xa19f('0x45')][_0xa19f('0x4a')]=_0x55a9b1[_0xa19f('0x48')]['filename'];_0x55a9b1[_0xa19f('0x45')][_0xa19f('0x4b')]=_0x55a9b1[_0xa19f('0x48')][_0xa19f('0x4c')];return db[_0xa19f('0x26')][_0xa19f('0x47')](_0x55a9b1[_0xa19f('0x45')])['then'](respondWithResult(_0x1c9d1d,0xc9))[_0xa19f('0x3e')](handleError(_0x1c9d1d,null));};exports[_0xa19f('0x4d')]=function(_0xf63573,_0x4f60ff,_0x3de560){return db[_0xa19f('0x26')]['findOne']({'where':{'id':_0xf63573[_0xa19f('0x3f')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x4f60ff,null))[_0xa19f('0x1f')](function(_0x487abf){if(_0x487abf){return _0x4f60ff[_0xa19f('0x4d')](path[_0xa19f('0x4e')](config[_0xa19f('0x4f')],_0xa19f('0x50'),_0x487abf['basename']));}})[_0xa19f('0x3e')](handleError(_0x4f60ff,null));};