Built motion from commit (unavailable).|2.5.24
[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 _0x955c=['findOne','join','root','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','lodash','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','update','then','destroy','error','stack','name','send','index','map','fieldName','key','model','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','includeAll','Attachment','findAll','rows','show','params','rawAttributes','include','find','catch','clone','fields','get','omit','updatedAt','body','createdAt','create','file','originalname','basename','filename','mimetype','download'];(function(_0x2cd7c1,_0x457810){var _0x3746b3=function(_0x44299e){while(--_0x44299e){_0x2cd7c1['push'](_0x2cd7c1['shift']());}};_0x3746b3(++_0x457810);}(_0x955c,0xb3));var _0xc955=function(_0x3d592a,_0x1b1726){_0x3d592a=_0x3d592a-0x0;var _0x22b1e1=_0x955c[_0x3d592a];return _0x22b1e1;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xc955('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc955('0x1'));var jsonpatch=require(_0xc955('0x2'));var rp=require(_0xc955('0x3'));var moment=require(_0xc955('0x4'));var BPromise=require(_0xc955('0x5'));var Mustache=require(_0xc955('0x6'));var util=require(_0xc955('0x7'));var path=require(_0xc955('0x8'));var sox=require('sox');var csv=require(_0xc955('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xc955('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xc955('0xb'));var deskjs=require(_0xc955('0xc'));var toCsv=require('to-csv');var querystring=require(_0xc955('0xd'));var Papa=require(_0xc955('0xe'));var Redis=require('ioredis');var authService=require(_0xc955('0xf'));var qs=require(_0xc955('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc955('0x11'));var logger=require(_0xc955('0x12'))(_0xc955('0x13'));var utils=require(_0xc955('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xc955('0x15'));var db=require(_0xc955('0x16'))['db'];function respondWithStatusCode(_0x3b658e,_0x3a9604){_0x3a9604=_0x3a9604||0xcc;return function(_0x33374d){if(_0x33374d){return _0x3b658e[_0xc955('0x17')](_0x3a9604);}return _0x3b658e[_0xc955('0x18')](_0x3a9604)[_0xc955('0x19')]();};}function respondWithResult(_0x163f8e,_0x476bd0){_0x476bd0=_0x476bd0||0xc8;return function(_0x55a7a1){if(_0x55a7a1){return _0x163f8e[_0xc955('0x18')](_0x476bd0)[_0xc955('0x1a')](_0x55a7a1);}};}function respondWithFilteredResult(_0xc9eda,_0x24f784){return function(_0x4ea6d9){if(_0x4ea6d9){var _0x5ebdce=_0x4ea6d9[_0xc955('0x1b')],_0x2f876c=_0x24f784[_0xc955('0x1c')],_0x2fe04a=_0x24f784[_0xc955('0x1c')]+_0x24f784[_0xc955('0x1d')],_0x19242a;if(_0x2fe04a>=_0x5ebdce){_0x2fe04a=_0x5ebdce;_0x19242a=0xc8;}else{_0x19242a=0xce;}_0xc9eda[_0xc955('0x18')](_0x19242a);return _0xc9eda[_0xc955('0x1e')](_0xc955('0x1f'),_0x2f876c+'-'+_0x2fe04a+'/'+_0x5ebdce)[_0xc955('0x1a')](_0x4ea6d9);}return null;};}function patchUpdates(_0x128c94){return function(_0x54023f){try{jsonpatch['apply'](_0x54023f,_0x128c94,!![]);}catch(_0x191e6d){return BPromise['reject'](_0x191e6d);}return _0x54023f['save']();};}function saveUpdates(_0x2b024c,_0x3e9d17){return function(_0x38d2da){if(_0x38d2da){return _0x38d2da[_0xc955('0x20')](_0x2b024c)[_0xc955('0x21')](function(_0x296890){return _0x296890;});}return null;};}function removeEntity(_0x57db44,_0x2621d7){return function(_0x41a5c6){if(_0x41a5c6){return _0x41a5c6[_0xc955('0x22')]()[_0xc955('0x21')](function(){_0x57db44[_0xc955('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x120f24,_0x391d4b){return function(_0x2884e8){if(!_0x2884e8){_0x120f24[_0xc955('0x17')](0x194);}return _0x2884e8;};}function handleError(_0x129040,_0x5590b8){_0x5590b8=_0x5590b8||0x1f4;return function(_0x980d70){logger[_0xc955('0x23')](_0x980d70[_0xc955('0x24')]);if(_0x980d70[_0xc955('0x25')]){delete _0x980d70[_0xc955('0x25')];}_0x129040['status'](_0x5590b8)[_0xc955('0x26')](_0x980d70);};}exports[_0xc955('0x27')]=function(_0x516c00,_0x2e8977){var _0x1cb41f={},_0x13d90a={},_0x32d06c={'count':0x0,'rows':[]};var _0x189788=_[_0xc955('0x28')](db['Attachment']['rawAttributes'],function(_0x5bebf5){return{'name':_0x5bebf5[_0xc955('0x29')],'type':_0x5bebf5['type'][_0xc955('0x2a')]};});_0x13d90a[_0xc955('0x2b')]=_[_0xc955('0x28')](_0x189788,_0xc955('0x25'));_0x13d90a[_0xc955('0x2c')]=_[_0xc955('0x2d')](_0x516c00['query']);_0x13d90a['filters']=_[_0xc955('0x2e')](_0x13d90a[_0xc955('0x2b')],_0x13d90a[_0xc955('0x2c')]);_0x1cb41f[_0xc955('0x2f')]=_[_0xc955('0x2e')](_0x13d90a[_0xc955('0x2b')],qs['fields'](_0x516c00[_0xc955('0x2c')]['fields']));_0x1cb41f['attributes']=_0x1cb41f[_0xc955('0x2f')][_0xc955('0x30')]?_0x1cb41f[_0xc955('0x2f')]:_0x13d90a[_0xc955('0x2b')];if(!_0x516c00[_0xc955('0x2c')][_0xc955('0x31')](_0xc955('0x32'))){_0x1cb41f['limit']=qs['limit'](_0x516c00[_0xc955('0x2c')][_0xc955('0x1d')]);_0x1cb41f[_0xc955('0x1c')]=qs[_0xc955('0x1c')](_0x516c00[_0xc955('0x2c')][_0xc955('0x1c')]);}_0x1cb41f[_0xc955('0x33')]=qs[_0xc955('0x34')](_0x516c00[_0xc955('0x2c')][_0xc955('0x34')]);_0x1cb41f['where']=qs[_0xc955('0x35')](_[_0xc955('0x36')](_0x516c00[_0xc955('0x2c')],_0x13d90a[_0xc955('0x35')]),_0x189788);if(_0x516c00[_0xc955('0x2c')][_0xc955('0x37')]){_0x1cb41f[_0xc955('0x38')]=_[_0xc955('0x39')](_0x1cb41f[_0xc955('0x38')],{'$or':_[_0xc955('0x28')](_0x189788,function(_0x1c4dd0){if(_0x1c4dd0[_0xc955('0x3a')]!==_0xc955('0x3b')){var _0x276a45={};_0x276a45[_0x1c4dd0[_0xc955('0x25')]]={'$like':'%'+_0x516c00[_0xc955('0x2c')][_0xc955('0x37')]+'%'};return _0x276a45;}})});}_0x1cb41f=_[_0xc955('0x39')]({},_0x1cb41f,_0x516c00[_0xc955('0x3c')]);var _0x2743d0={'where':_0x1cb41f['where']};return db['Attachment'][_0xc955('0x1b')](_0x2743d0)[_0xc955('0x21')](function(_0x5d64a5){_0x32d06c[_0xc955('0x1b')]=_0x5d64a5;if(_0x516c00[_0xc955('0x2c')][_0xc955('0x3d')]){_0x1cb41f['include']=[{'all':!![]}];}return db[_0xc955('0x3e')][_0xc955('0x3f')](_0x1cb41f);})['then'](function(_0x20764d){_0x32d06c[_0xc955('0x40')]=_0x20764d;return _0x32d06c;})[_0xc955('0x21')](respondWithFilteredResult(_0x2e8977,_0x1cb41f))['catch'](handleError(_0x2e8977,null));};exports[_0xc955('0x41')]=function(_0x2b2952,_0x223b26){var _0x5965ee={'raw':!![],'where':{'id':_0x2b2952[_0xc955('0x42')]['id']}},_0x12e6a4={};_0x12e6a4[_0xc955('0x2b')]=_[_0xc955('0x2d')](db[_0xc955('0x3e')][_0xc955('0x43')]);_0x12e6a4[_0xc955('0x2c')]=_[_0xc955('0x2d')](_0x2b2952[_0xc955('0x2c')]);_0x12e6a4['filters']=_[_0xc955('0x2e')](_0x12e6a4['model'],_0x12e6a4['query']);_0x5965ee[_0xc955('0x2f')]=_['intersection'](_0x12e6a4[_0xc955('0x2b')],qs['fields'](_0x2b2952[_0xc955('0x2c')]['fields']));_0x5965ee[_0xc955('0x2f')]=_0x5965ee[_0xc955('0x2f')]['length']?_0x5965ee['attributes']:_0x12e6a4[_0xc955('0x2b')];if(_0x2b2952[_0xc955('0x2c')][_0xc955('0x3d')]){_0x5965ee[_0xc955('0x44')]=[{'all':!![]}];}_0x5965ee=_[_0xc955('0x39')]({},_0x5965ee,_0x2b2952[_0xc955('0x3c')]);return db[_0xc955('0x3e')][_0xc955('0x45')](_0x5965ee)['then'](handleEntityNotFound(_0x223b26,null))[_0xc955('0x21')](respondWithResult(_0x223b26,null))[_0xc955('0x46')](handleError(_0x223b26,null));};exports[_0xc955('0x47')]=function(_0x4e2d59,_0xd46026){var _0x4dde23={'where':{'id':_0x4e2d59['params']['id']}},_0xd48fe4={};_0xd48fe4[_0xc955('0x2b')]=_['keys'](db[_0xc955('0x3e')][_0xc955('0x43')]);_0x4dde23['attributes']=_[_0xc955('0x2e')](_0xd48fe4[_0xc955('0x2b')],qs[_0xc955('0x48')](_0x4e2d59['query'][_0xc955('0x48')]));_0x4dde23[_0xc955('0x2f')]=_0x4dde23[_0xc955('0x2f')][_0xc955('0x30')]?_0x4dde23[_0xc955('0x2f')]:_0xd48fe4['model'];if(_0x4e2d59['query'][_0xc955('0x3d')]){_0x4dde23[_0xc955('0x44')]=[{'all':!![]}];}_0x4dde23=_[_0xc955('0x39')]({},_0x4dde23,_0x4e2d59[_0xc955('0x3c')]);return db[_0xc955('0x3e')]['find'](_0x4dde23)[_0xc955('0x21')](handleEntityNotFound(_0xd46026,null))[_0xc955('0x21')](function(_0x1c17e3){if(_0x1c17e3){var _0x856481=_0x1c17e3[_0xc955('0x49')]({'plain':!![]});_0x856481=qs[_0xc955('0x4a')](_0x856481,['id','createdAt',_0xc955('0x4b')]);_0x4e2d59['body']=_['omit'](_0x4e2d59[_0xc955('0x4c')],['id',_0xc955('0x4d'),'updatedAt']);return db[_0xc955('0x3e')]['create'](_['merge'](_0x856481,_0x4e2d59[_0xc955('0x4c')]),{'include':_0x4e2d59[_0xc955('0x2c')]['includeAll']?[{'all':!![]}]:undefined});}})[_0xc955('0x21')](respondWithResult(_0xd46026,0xc9))['catch'](handleError(_0xd46026,null));};exports[_0xc955('0x20')]=function(_0x3ba83c,_0x540181){if(_0x3ba83c[_0xc955('0x4c')]['id']){delete _0x3ba83c[_0xc955('0x4c')]['id'];}return db[_0xc955('0x3e')][_0xc955('0x45')]({'where':{'id':_0x3ba83c[_0xc955('0x42')]['id']}})[_0xc955('0x21')](handleEntityNotFound(_0x540181,null))[_0xc955('0x21')](saveUpdates(_0x3ba83c[_0xc955('0x4c')],null))[_0xc955('0x21')](respondWithResult(_0x540181,null))[_0xc955('0x46')](handleError(_0x540181,null));};exports[_0xc955('0x22')]=function(_0x18b41d,_0x480015){return db[_0xc955('0x3e')][_0xc955('0x45')]({'where':{'id':_0x18b41d[_0xc955('0x42')]['id']}})['then'](handleEntityNotFound(_0x480015,null))[_0xc955('0x21')](removeEntity(_0x480015,null))[_0xc955('0x46')](handleError(_0x480015,null));};exports[_0xc955('0x4e')]=function(_0x247e98,_0x4cb7f5,_0x18c671){_0x247e98[_0xc955('0x4c')][_0xc955('0x25')]=_0x247e98[_0xc955('0x4f')][_0xc955('0x50')];_0x247e98[_0xc955('0x4c')][_0xc955('0x51')]=_0x247e98[_0xc955('0x4f')][_0xc955('0x52')];_0x247e98[_0xc955('0x4c')]['type']=_0x247e98[_0xc955('0x4f')][_0xc955('0x53')];return db[_0xc955('0x3e')][_0xc955('0x4e')](_0x247e98[_0xc955('0x4c')])['then'](respondWithResult(_0x4cb7f5,0xc9))['catch'](handleError(_0x4cb7f5,null));};exports[_0xc955('0x54')]=function(_0x24c781,_0x367783,_0x33bbac){return db[_0xc955('0x3e')][_0xc955('0x55')]({'where':{'id':_0x24c781[_0xc955('0x42')]['id']},'raw':!![]})[_0xc955('0x21')](handleEntityNotFound(_0x367783,null))[_0xc955('0x21')](function(_0x274757){if(_0x274757){return _0x367783[_0xc955('0x54')](path[_0xc955('0x56')](config[_0xc955('0x57')],'server/files/attachments/',_0x274757[_0xc955('0x51')]));}})[_0xc955('0x46')](handleError(_0x367783,null));};