Built motion from commit (unavailable).|2.4.4
[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 _0xa673=['then','destroy','error','stack','name','Attachment','rawAttributes','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','map','type','key','VIRTUAL','field','options','count','includeAll','include','findAll','rows','catch','show','params','length','find','update','body','create','file','originalname','filename','mimetype','download','findOne','join','server/files/attachments/','basename','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','save'];(function(_0x22f04a,_0x5e64e9){var _0x1cc308=function(_0x2784c3){while(--_0x2784c3){_0x22f04a['push'](_0x22f04a['shift']());}};_0x1cc308(++_0x5e64e9);}(_0xa673,0x133));var _0x3a67=function(_0x2aed3c,_0x1ae321){_0x2aed3c=_0x2aed3c-0x0;var _0x62e30f=_0xa673[_0x2aed3c];return _0x62e30f;};'use strict';var pdf=require(_0x3a67('0x0'));var emlformat=require(_0x3a67('0x1'));var rimraf=require(_0x3a67('0x2'));var zipdir=require(_0x3a67('0x3'));var jsonpatch=require(_0x3a67('0x4'));var rp=require(_0x3a67('0x5'));var moment=require(_0x3a67('0x6'));var BPromise=require(_0x3a67('0x7'));var Mustache=require(_0x3a67('0x8'));var util=require(_0x3a67('0x9'));var path=require(_0x3a67('0xa'));var sox=require(_0x3a67('0xb'));var csv=require(_0x3a67('0xc'));var ejs=require(_0x3a67('0xd'));var fs=require('fs');var _=require(_0x3a67('0xe'));var squel=require(_0x3a67('0xf'));var crypto=require(_0x3a67('0x10'));var jsforce=require(_0x3a67('0x11'));var deskjs=require(_0x3a67('0x12'));var toCsv=require(_0x3a67('0xc'));var querystring=require(_0x3a67('0x13'));var Papa=require('papaparse');var Redis=require(_0x3a67('0x14'));var authService=require(_0x3a67('0x15'));var qs=require(_0x3a67('0x16'));var hardwareService=require(_0x3a67('0x17'));var logger=require('../../config/logger')(_0x3a67('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x3a67('0x19'))['db'];function respondWithStatusCode(_0x5c896e,_0x5408a5){_0x5408a5=_0x5408a5||0xcc;return function(_0x282f6a){if(_0x282f6a){return _0x5c896e[_0x3a67('0x1a')](_0x5408a5);}return _0x5c896e[_0x3a67('0x1b')](_0x5408a5)[_0x3a67('0x1c')]();};}function respondWithResult(_0x4e0ace,_0x15e224){_0x15e224=_0x15e224||0xc8;return function(_0x17bdb9){if(_0x17bdb9){return _0x4e0ace[_0x3a67('0x1b')](_0x15e224)[_0x3a67('0x1d')](_0x17bdb9);}};}function respondWithFilteredResult(_0x26cd37,_0x4d1914){return function(_0x534c12){if(_0x534c12){var _0x5b38c5=_0x534c12['count'],_0x383a61=_0x4d1914[_0x3a67('0x1e')],_0x4f33b9=_0x4d1914[_0x3a67('0x1e')]+_0x4d1914[_0x3a67('0x1f')],_0x2386d4;if(_0x4f33b9>=_0x5b38c5){_0x4f33b9=_0x5b38c5;_0x2386d4=0xc8;}else{_0x2386d4=0xce;}_0x26cd37['status'](_0x2386d4);return _0x26cd37[_0x3a67('0x20')](_0x3a67('0x21'),_0x383a61+'-'+_0x4f33b9+'/'+_0x5b38c5)[_0x3a67('0x1d')](_0x534c12);}return null;};}function patchUpdates(_0x2485b2){return function(_0x54034b){try{jsonpatch[_0x3a67('0x22')](_0x54034b,_0x2485b2,!![]);}catch(_0x202fb2){return BPromise[_0x3a67('0x23')](_0x202fb2);}return _0x54034b[_0x3a67('0x24')]();};}function saveUpdates(_0x2ce53f,_0x828649){return function(_0x47c50a){if(_0x47c50a){return _0x47c50a['update'](_0x2ce53f)[_0x3a67('0x25')](function(_0x5a8d9d){return _0x5a8d9d;});}return null;};}function removeEntity(_0x2aae1b,_0x28c00d){return function(_0x1c7db3){if(_0x1c7db3){return _0x1c7db3[_0x3a67('0x26')]()[_0x3a67('0x25')](function(){_0x2aae1b[_0x3a67('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c53bc,_0x57435b){return function(_0x598056){if(!_0x598056){_0x2c53bc[_0x3a67('0x1a')](0x194);}return _0x598056;};}function handleError(_0x1f8773,_0x5eae40){_0x5eae40=_0x5eae40||0x1f4;return function(_0x527125){logger[_0x3a67('0x27')](_0x527125[_0x3a67('0x28')]);if(_0x527125['name']){delete _0x527125[_0x3a67('0x29')];}_0x1f8773['status'](_0x5eae40)['send'](_0x527125);};}exports['index']=function(_0x43491d,_0x109bc6){var _0x22bcef={},_0x4559b2={},_0x265ece={'count':0x0,'rows':[]};var _0x3de0f2=db[_0x3a67('0x2a')][_0x3a67('0x2b')];_0x4559b2[_0x3a67('0x2c')]=_[_0x3a67('0x2d')](_0x3de0f2);_0x4559b2[_0x3a67('0x2e')]=_[_0x3a67('0x2d')](_0x43491d[_0x3a67('0x2e')]);_0x4559b2[_0x3a67('0x2f')]=_[_0x3a67('0x30')](_0x4559b2[_0x3a67('0x2c')],_0x4559b2[_0x3a67('0x2e')]);_0x22bcef[_0x3a67('0x31')]=_[_0x3a67('0x30')](_0x4559b2['model'],qs[_0x3a67('0x32')](_0x43491d['query'][_0x3a67('0x32')]));_0x22bcef['attributes']=_0x22bcef['attributes']['length']?_0x22bcef[_0x3a67('0x31')]:_0x4559b2['model'];if(!_0x43491d['query'][_0x3a67('0x33')](_0x3a67('0x34'))){_0x22bcef[_0x3a67('0x1f')]=qs[_0x3a67('0x1f')](_0x43491d[_0x3a67('0x2e')][_0x3a67('0x1f')]);_0x22bcef[_0x3a67('0x1e')]=qs[_0x3a67('0x1e')](_0x43491d[_0x3a67('0x2e')][_0x3a67('0x1e')]);}_0x22bcef['order']=qs[_0x3a67('0x35')](_0x43491d[_0x3a67('0x2e')]['sort']);_0x22bcef[_0x3a67('0x36')]=qs[_0x3a67('0x2f')](_[_0x3a67('0x37')](_0x43491d['query'],_0x4559b2['filters']));if(_0x43491d[_0x3a67('0x2e')][_0x3a67('0x38')]){_0x22bcef['where']=_[_0x3a67('0x39')](_0x22bcef['where'],{'$or':_[_0x3a67('0x3a')](_0x3de0f2,function(_0x4f8802){if(_0x4f8802[_0x3a67('0x3b')][_0x3a67('0x3c')]!==_0x3a67('0x3d')){var _0x2c335a={};_0x2c335a[_0x4f8802[_0x3a67('0x3e')]]={'$like':'%'+_0x43491d[_0x3a67('0x2e')][_0x3a67('0x38')]+'%'};return _0x2c335a;}})});}_0x22bcef=_[_0x3a67('0x39')]({},_0x22bcef,_0x43491d[_0x3a67('0x3f')]);var _0x56acec={'where':_0x22bcef[_0x3a67('0x36')]};return db[_0x3a67('0x2a')][_0x3a67('0x40')](_0x56acec)['then'](function(_0x2c51a7){_0x265ece[_0x3a67('0x40')]=_0x2c51a7;if(_0x43491d[_0x3a67('0x2e')][_0x3a67('0x41')]){_0x22bcef[_0x3a67('0x42')]=[{'all':!![]}];}return db[_0x3a67('0x2a')][_0x3a67('0x43')](_0x22bcef);})[_0x3a67('0x25')](function(_0x49a911){_0x265ece[_0x3a67('0x44')]=_0x49a911;return _0x265ece;})[_0x3a67('0x25')](respondWithFilteredResult(_0x109bc6,_0x22bcef))[_0x3a67('0x45')](handleError(_0x109bc6,null));};exports[_0x3a67('0x46')]=function(_0x5739e1,_0x5cec16){var _0x451ab1={'raw':!![],'where':{'id':_0x5739e1[_0x3a67('0x47')]['id']}},_0x3ace6e={};_0x3ace6e[_0x3a67('0x2c')]=_[_0x3a67('0x2d')](db[_0x3a67('0x2a')][_0x3a67('0x2b')]);_0x3ace6e[_0x3a67('0x2e')]=_[_0x3a67('0x2d')](_0x5739e1[_0x3a67('0x2e')]);_0x3ace6e['filters']=_[_0x3a67('0x30')](_0x3ace6e[_0x3a67('0x2c')],_0x3ace6e['query']);_0x451ab1[_0x3a67('0x31')]=_[_0x3a67('0x30')](_0x3ace6e[_0x3a67('0x2c')],qs[_0x3a67('0x32')](_0x5739e1[_0x3a67('0x2e')][_0x3a67('0x32')]));_0x451ab1[_0x3a67('0x31')]=_0x451ab1[_0x3a67('0x31')][_0x3a67('0x48')]?_0x451ab1[_0x3a67('0x31')]:_0x3ace6e[_0x3a67('0x2c')];if(_0x5739e1[_0x3a67('0x2e')][_0x3a67('0x41')]){_0x451ab1[_0x3a67('0x42')]=[{'all':!![]}];}_0x451ab1=_[_0x3a67('0x39')]({},_0x451ab1,_0x5739e1[_0x3a67('0x3f')]);return db[_0x3a67('0x2a')][_0x3a67('0x49')](_0x451ab1)[_0x3a67('0x25')](handleEntityNotFound(_0x5cec16,null))['then'](respondWithResult(_0x5cec16,null))[_0x3a67('0x45')](handleError(_0x5cec16,null));};exports[_0x3a67('0x4a')]=function(_0x5ef175,_0x2155af){if(_0x5ef175[_0x3a67('0x4b')]['id']){delete _0x5ef175[_0x3a67('0x4b')]['id'];}return db['Attachment'][_0x3a67('0x49')]({'where':{'id':_0x5ef175[_0x3a67('0x47')]['id']}})[_0x3a67('0x25')](handleEntityNotFound(_0x2155af,null))[_0x3a67('0x25')](saveUpdates(_0x5ef175[_0x3a67('0x4b')],null))[_0x3a67('0x25')](respondWithResult(_0x2155af,null))['catch'](handleError(_0x2155af,null));};exports[_0x3a67('0x26')]=function(_0x1ffabc,_0x3388bb){return db[_0x3a67('0x2a')][_0x3a67('0x49')]({'where':{'id':_0x1ffabc[_0x3a67('0x47')]['id']}})['then'](handleEntityNotFound(_0x3388bb,null))['then'](removeEntity(_0x3388bb,null))[_0x3a67('0x45')](handleError(_0x3388bb,null));};exports[_0x3a67('0x4c')]=function(_0x1c3b47,_0x5c54ca,_0x2e70cf){_0x1c3b47[_0x3a67('0x4b')][_0x3a67('0x29')]=_0x1c3b47[_0x3a67('0x4d')][_0x3a67('0x4e')];_0x1c3b47[_0x3a67('0x4b')]['basename']=_0x1c3b47[_0x3a67('0x4d')][_0x3a67('0x4f')];_0x1c3b47['body'][_0x3a67('0x3b')]=_0x1c3b47[_0x3a67('0x4d')][_0x3a67('0x50')];return db['Attachment'][_0x3a67('0x4c')](_0x1c3b47['body'])[_0x3a67('0x25')](respondWithResult(_0x5c54ca,0xc9))[_0x3a67('0x45')](handleError(_0x5c54ca,null));};exports[_0x3a67('0x51')]=function(_0x1ce872,_0xc802d0,_0x172b30){return db['Attachment'][_0x3a67('0x52')]({'where':{'id':_0x1ce872[_0x3a67('0x47')]['id']},'raw':!![]})[_0x3a67('0x25')](handleEntityNotFound(_0xc802d0,null))[_0x3a67('0x25')](function(_0x14244d){if(_0x14244d){return _0xc802d0[_0x3a67('0x51')](path[_0x3a67('0x53')](config['root'],_0x3a67('0x54'),_0x14244d[_0x3a67('0x55')]));}})['catch'](handleError(_0xc802d0,null));};