Built motion from commit (unavailable).|2.5.2
[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 _0x6e61=['rows','show','params','find','catch','clone','get','createdAt','updatedAt','body','omit','create','file','originalname','basename','filename','mimetype','download','findOne','root','server/files/attachments/','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','lodash','jsforce','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','name','send','index','map','Attachment','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','includeAll','include','findAll'];(function(_0x2db637,_0x3d5742){var _0x2aa2a8=function(_0x179d7b){while(--_0x179d7b){_0x2db637['push'](_0x2db637['shift']());}};_0x2aa2a8(++_0x3d5742);}(_0x6e61,0x15d));var _0x16e6=function(_0x3dc135,_0x546abc){_0x3dc135=_0x3dc135-0x0;var _0x517300=_0x6e61[_0x3dc135];return _0x517300;};'use strict';var pdf=require(_0x16e6('0x0'));var emlformat=require(_0x16e6('0x1'));var rimraf=require(_0x16e6('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x16e6('0x3'));var rp=require(_0x16e6('0x4'));var moment=require(_0x16e6('0x5'));var BPromise=require(_0x16e6('0x6'));var Mustache=require(_0x16e6('0x7'));var util=require('util');var path=require('path');var sox=require(_0x16e6('0x8'));var csv=require('to-csv');var ejs=require(_0x16e6('0x9'));var fs=require('fs');var _=require(_0x16e6('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x16e6('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x16e6('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x16e6('0xd'));var as=require(_0x16e6('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x16e6('0xf'))(_0x16e6('0x10'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x16e6('0x11'))['db'];function respondWithStatusCode(_0x1cf688,_0x2e116a){_0x2e116a=_0x2e116a||0xcc;return function(_0xb59a23){if(_0xb59a23){return _0x1cf688[_0x16e6('0x12')](_0x2e116a);}return _0x1cf688[_0x16e6('0x13')](_0x2e116a)[_0x16e6('0x14')]();};}function respondWithResult(_0x5bd18e,_0x2f89f2){_0x2f89f2=_0x2f89f2||0xc8;return function(_0x201dda){if(_0x201dda){return _0x5bd18e[_0x16e6('0x13')](_0x2f89f2)[_0x16e6('0x15')](_0x201dda);}};}function respondWithFilteredResult(_0x552f34,_0xa14b9a){return function(_0x5997a5){if(_0x5997a5){var _0x2f485f=_0x5997a5[_0x16e6('0x16')],_0x1fc27c=_0xa14b9a[_0x16e6('0x17')],_0x1d3ba3=_0xa14b9a[_0x16e6('0x17')]+_0xa14b9a[_0x16e6('0x18')],_0x439320;if(_0x1d3ba3>=_0x2f485f){_0x1d3ba3=_0x2f485f;_0x439320=0xc8;}else{_0x439320=0xce;}_0x552f34[_0x16e6('0x13')](_0x439320);return _0x552f34['set'](_0x16e6('0x19'),_0x1fc27c+'-'+_0x1d3ba3+'/'+_0x2f485f)[_0x16e6('0x15')](_0x5997a5);}return null;};}function patchUpdates(_0x42b5c6){return function(_0x58c8ab){try{jsonpatch[_0x16e6('0x1a')](_0x58c8ab,_0x42b5c6,!![]);}catch(_0x4c3db2){return BPromise[_0x16e6('0x1b')](_0x4c3db2);}return _0x58c8ab[_0x16e6('0x1c')]();};}function saveUpdates(_0x30ffd4,_0x19ef87){return function(_0x4ada07){if(_0x4ada07){return _0x4ada07[_0x16e6('0x1d')](_0x30ffd4)[_0x16e6('0x1e')](function(_0x476f43){return _0x476f43;});}return null;};}function removeEntity(_0x7530d3,_0x7c374f){return function(_0x3bb9d2){if(_0x3bb9d2){return _0x3bb9d2[_0x16e6('0x1f')]()['then'](function(){_0x7530d3['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x25dc70,_0x1d74c4){return function(_0x476af7){if(!_0x476af7){_0x25dc70['sendStatus'](0x194);}return _0x476af7;};}function handleError(_0xe1d699,_0xa69593){_0xa69593=_0xa69593||0x1f4;return function(_0x48823a){logger['error'](_0x48823a['stack']);if(_0x48823a[_0x16e6('0x20')]){delete _0x48823a[_0x16e6('0x20')];}_0xe1d699['status'](_0xa69593)[_0x16e6('0x21')](_0x48823a);};}exports[_0x16e6('0x22')]=function(_0x1a4553,_0x7d801e){var _0x6d8687={},_0x44cd02={},_0x2db136={'count':0x0,'rows':[]};var _0x567bd6=_[_0x16e6('0x23')](db[_0x16e6('0x24')][_0x16e6('0x25')],function(_0x329e2e){return{'name':_0x329e2e[_0x16e6('0x26')],'type':_0x329e2e['type']['key']};});_0x44cd02[_0x16e6('0x27')]=_[_0x16e6('0x23')](_0x567bd6,_0x16e6('0x20'));_0x44cd02[_0x16e6('0x28')]=_[_0x16e6('0x29')](_0x1a4553[_0x16e6('0x28')]);_0x44cd02[_0x16e6('0x2a')]=_[_0x16e6('0x2b')](_0x44cd02[_0x16e6('0x27')],_0x44cd02[_0x16e6('0x28')]);_0x6d8687[_0x16e6('0x2c')]=_[_0x16e6('0x2b')](_0x44cd02[_0x16e6('0x27')],qs[_0x16e6('0x2d')](_0x1a4553['query'][_0x16e6('0x2d')]));_0x6d8687[_0x16e6('0x2c')]=_0x6d8687[_0x16e6('0x2c')][_0x16e6('0x2e')]?_0x6d8687[_0x16e6('0x2c')]:_0x44cd02[_0x16e6('0x27')];if(!_0x1a4553[_0x16e6('0x28')][_0x16e6('0x2f')](_0x16e6('0x30'))){_0x6d8687[_0x16e6('0x18')]=qs[_0x16e6('0x18')](_0x1a4553[_0x16e6('0x28')][_0x16e6('0x18')]);_0x6d8687[_0x16e6('0x17')]=qs[_0x16e6('0x17')](_0x1a4553[_0x16e6('0x28')][_0x16e6('0x17')]);}_0x6d8687[_0x16e6('0x31')]=qs[_0x16e6('0x32')](_0x1a4553[_0x16e6('0x28')][_0x16e6('0x32')]);_0x6d8687[_0x16e6('0x33')]=qs['filters'](_[_0x16e6('0x34')](_0x1a4553[_0x16e6('0x28')],_0x44cd02[_0x16e6('0x2a')]),_0x567bd6);if(_0x1a4553[_0x16e6('0x28')]['filter']){_0x6d8687[_0x16e6('0x33')]=_[_0x16e6('0x35')](_0x6d8687[_0x16e6('0x33')],{'$or':_['map'](_0x567bd6,function(_0x3f050d){if(_0x3f050d[_0x16e6('0x36')]!==_0x16e6('0x37')){var _0x238e8e={};_0x238e8e[_0x3f050d[_0x16e6('0x20')]]={'$like':'%'+_0x1a4553[_0x16e6('0x28')][_0x16e6('0x38')]+'%'};return _0x238e8e;}})});}_0x6d8687=_[_0x16e6('0x35')]({},_0x6d8687,_0x1a4553[_0x16e6('0x39')]);var _0x1f0ff2={'where':_0x6d8687['where']};return db[_0x16e6('0x24')][_0x16e6('0x16')](_0x1f0ff2)[_0x16e6('0x1e')](function(_0xf123c0){_0x2db136[_0x16e6('0x16')]=_0xf123c0;if(_0x1a4553['query'][_0x16e6('0x3a')]){_0x6d8687[_0x16e6('0x3b')]=[{'all':!![]}];}return db['Attachment'][_0x16e6('0x3c')](_0x6d8687);})[_0x16e6('0x1e')](function(_0x5aa5c4){_0x2db136[_0x16e6('0x3d')]=_0x5aa5c4;return _0x2db136;})['then'](respondWithFilteredResult(_0x7d801e,_0x6d8687))['catch'](handleError(_0x7d801e,null));};exports[_0x16e6('0x3e')]=function(_0x41f292,_0x4262fa){var _0xb17ac9={'raw':!![],'where':{'id':_0x41f292[_0x16e6('0x3f')]['id']}},_0x86eba6={};_0x86eba6[_0x16e6('0x27')]=_[_0x16e6('0x29')](db[_0x16e6('0x24')][_0x16e6('0x25')]);_0x86eba6[_0x16e6('0x28')]=_[_0x16e6('0x29')](_0x41f292[_0x16e6('0x28')]);_0x86eba6['filters']=_['intersection'](_0x86eba6[_0x16e6('0x27')],_0x86eba6[_0x16e6('0x28')]);_0xb17ac9[_0x16e6('0x2c')]=_[_0x16e6('0x2b')](_0x86eba6[_0x16e6('0x27')],qs['fields'](_0x41f292[_0x16e6('0x28')][_0x16e6('0x2d')]));_0xb17ac9['attributes']=_0xb17ac9[_0x16e6('0x2c')][_0x16e6('0x2e')]?_0xb17ac9[_0x16e6('0x2c')]:_0x86eba6[_0x16e6('0x27')];if(_0x41f292['query']['includeAll']){_0xb17ac9[_0x16e6('0x3b')]=[{'all':!![]}];}_0xb17ac9=_[_0x16e6('0x35')]({},_0xb17ac9,_0x41f292['options']);return db['Attachment'][_0x16e6('0x40')](_0xb17ac9)[_0x16e6('0x1e')](handleEntityNotFound(_0x4262fa,null))[_0x16e6('0x1e')](respondWithResult(_0x4262fa,null))[_0x16e6('0x41')](handleError(_0x4262fa,null));};exports[_0x16e6('0x42')]=function(_0x1dcf25,_0x1265ed){var _0x55e34f={'where':{'id':_0x1dcf25[_0x16e6('0x3f')]['id']}},_0x821629={};_0x821629[_0x16e6('0x27')]=_[_0x16e6('0x29')](db[_0x16e6('0x24')][_0x16e6('0x25')]);_0x55e34f[_0x16e6('0x2c')]=_[_0x16e6('0x2b')](_0x821629[_0x16e6('0x27')],qs[_0x16e6('0x2d')](_0x1dcf25[_0x16e6('0x28')][_0x16e6('0x2d')]));_0x55e34f[_0x16e6('0x2c')]=_0x55e34f[_0x16e6('0x2c')][_0x16e6('0x2e')]?_0x55e34f[_0x16e6('0x2c')]:_0x821629[_0x16e6('0x27')];if(_0x1dcf25[_0x16e6('0x28')][_0x16e6('0x3a')]){_0x55e34f['include']=[{'all':!![]}];}_0x55e34f=_['merge']({},_0x55e34f,_0x1dcf25[_0x16e6('0x39')]);return db[_0x16e6('0x24')][_0x16e6('0x40')](_0x55e34f)[_0x16e6('0x1e')](handleEntityNotFound(_0x1265ed,null))[_0x16e6('0x1e')](function(_0x19e396){if(_0x19e396){var _0x459a64=_0x19e396[_0x16e6('0x43')]({'plain':!![]});_0x459a64=qs['omit'](_0x459a64,['id',_0x16e6('0x44'),_0x16e6('0x45')]);_0x1dcf25[_0x16e6('0x46')]=_[_0x16e6('0x47')](_0x1dcf25[_0x16e6('0x46')],['id',_0x16e6('0x44'),_0x16e6('0x45')]);return db['Attachment'][_0x16e6('0x48')](_[_0x16e6('0x35')](_0x459a64,_0x1dcf25['body']),{'include':_0x1dcf25[_0x16e6('0x28')]['includeAll']?[{'all':!![]}]:undefined});}})[_0x16e6('0x1e')](respondWithResult(_0x1265ed,0xc9))['catch'](handleError(_0x1265ed,null));};exports[_0x16e6('0x1d')]=function(_0x92af12,_0x4f855d){if(_0x92af12[_0x16e6('0x46')]['id']){delete _0x92af12[_0x16e6('0x46')]['id'];}return db[_0x16e6('0x24')][_0x16e6('0x40')]({'where':{'id':_0x92af12[_0x16e6('0x3f')]['id']}})[_0x16e6('0x1e')](handleEntityNotFound(_0x4f855d,null))[_0x16e6('0x1e')](saveUpdates(_0x92af12[_0x16e6('0x46')],null))[_0x16e6('0x1e')](respondWithResult(_0x4f855d,null))['catch'](handleError(_0x4f855d,null));};exports[_0x16e6('0x1f')]=function(_0x12b1e5,_0x2c3a44){return db[_0x16e6('0x24')][_0x16e6('0x40')]({'where':{'id':_0x12b1e5['params']['id']}})[_0x16e6('0x1e')](handleEntityNotFound(_0x2c3a44,null))[_0x16e6('0x1e')](removeEntity(_0x2c3a44,null))[_0x16e6('0x41')](handleError(_0x2c3a44,null));};exports['create']=function(_0x3a80a3,_0x386d3a,_0x1ed3c7){_0x3a80a3['body'][_0x16e6('0x20')]=_0x3a80a3[_0x16e6('0x49')][_0x16e6('0x4a')];_0x3a80a3[_0x16e6('0x46')][_0x16e6('0x4b')]=_0x3a80a3[_0x16e6('0x49')][_0x16e6('0x4c')];_0x3a80a3[_0x16e6('0x46')][_0x16e6('0x36')]=_0x3a80a3[_0x16e6('0x49')][_0x16e6('0x4d')];return db[_0x16e6('0x24')]['create'](_0x3a80a3['body'])['then'](respondWithResult(_0x386d3a,0xc9))[_0x16e6('0x41')](handleError(_0x386d3a,null));};exports[_0x16e6('0x4e')]=function(_0x177aac,_0x54732f,_0x18107c){return db[_0x16e6('0x24')][_0x16e6('0x4f')]({'where':{'id':_0x177aac[_0x16e6('0x3f')]['id']},'raw':!![]})[_0x16e6('0x1e')](handleEntityNotFound(_0x54732f,null))[_0x16e6('0x1e')](function(_0x26b227){if(_0x26b227){return _0x54732f[_0x16e6('0x4e')](path['join'](config[_0x16e6('0x50')],_0x16e6('0x51'),_0x26b227[_0x16e6('0x4b')]));}})['catch'](handleError(_0x54732f,null));};