Built motion from commit (unavailable).|2.4.19
[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 _0x3efa=['fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','name','Attachment','rawAttributes','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','include','params','includeAll','find','catch','clone','get','omit','createdAt','body','updatedAt','create','update','file','originalname','type','findOne','server/files/attachments/','html-pdf','rimraf','zip-dir'];(function(_0x8a969d,_0x339d9f){var _0x1d8dc7=function(_0x283ec0){while(--_0x283ec0){_0x8a969d['push'](_0x8a969d['shift']());}};_0x1d8dc7(++_0x339d9f);}(_0x3efa,0x139));var _0xa3ef=function(_0x1a14af,_0x1eac50){_0x1a14af=_0x1a14af-0x0;var _0x45af23=_0x3efa[_0x1a14af];return _0x45af23;};'use strict';var pdf=require(_0xa3ef('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa3ef('0x1'));var zipdir=require(_0xa3ef('0x2'));var jsonpatch=require(_0xa3ef('0x3'));var rp=require(_0xa3ef('0x4'));var moment=require(_0xa3ef('0x5'));var BPromise=require(_0xa3ef('0x6'));var Mustache=require(_0xa3ef('0x7'));var util=require('util');var path=require(_0xa3ef('0x8'));var sox=require(_0xa3ef('0x9'));var csv=require(_0xa3ef('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xa3ef('0xb'));var squel=require(_0xa3ef('0xc'));var crypto=require(_0xa3ef('0xd'));var jsforce=require(_0xa3ef('0xe'));var deskjs=require(_0xa3ef('0xf'));var toCsv=require(_0xa3ef('0xa'));var querystring=require(_0xa3ef('0x10'));var Papa=require(_0xa3ef('0x11'));var Redis=require(_0xa3ef('0x12'));var authService=require(_0xa3ef('0x13'));var qs=require(_0xa3ef('0x14'));var as=require(_0xa3ef('0x15'));var hardwareService=require(_0xa3ef('0x16'));var logger=require('../../config/logger')(_0xa3ef('0x17'));var utils=require(_0xa3ef('0x18'));var config=require(_0xa3ef('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4752ea,_0xd8d7b0){_0xd8d7b0=_0xd8d7b0||0xcc;return function(_0x46bab8){if(_0x46bab8){return _0x4752ea[_0xa3ef('0x1a')](_0xd8d7b0);}return _0x4752ea['status'](_0xd8d7b0)[_0xa3ef('0x1b')]();};}function respondWithResult(_0xeee53d,_0x38b0a7){_0x38b0a7=_0x38b0a7||0xc8;return function(_0x38bb2e){if(_0x38bb2e){return _0xeee53d[_0xa3ef('0x1c')](_0x38b0a7)[_0xa3ef('0x1d')](_0x38bb2e);}};}function respondWithFilteredResult(_0x55cc55,_0x334f23){return function(_0x56f0a1){if(_0x56f0a1){var _0x425e36=_0x56f0a1[_0xa3ef('0x1e')],_0x320e4a=_0x334f23[_0xa3ef('0x1f')],_0x5468e4=_0x334f23[_0xa3ef('0x1f')]+_0x334f23[_0xa3ef('0x20')],_0xd8c73a;if(_0x5468e4>=_0x425e36){_0x5468e4=_0x425e36;_0xd8c73a=0xc8;}else{_0xd8c73a=0xce;}_0x55cc55[_0xa3ef('0x1c')](_0xd8c73a);return _0x55cc55[_0xa3ef('0x21')](_0xa3ef('0x22'),_0x320e4a+'-'+_0x5468e4+'/'+_0x425e36)[_0xa3ef('0x1d')](_0x56f0a1);}return null;};}function patchUpdates(_0x54b5ad){return function(_0x26e1b3){try{jsonpatch[_0xa3ef('0x23')](_0x26e1b3,_0x54b5ad,!![]);}catch(_0x22635c){return BPromise[_0xa3ef('0x24')](_0x22635c);}return _0x26e1b3[_0xa3ef('0x25')]();};}function saveUpdates(_0x325953,_0xbacfbb){return function(_0x3b182a){if(_0x3b182a){return _0x3b182a['update'](_0x325953)[_0xa3ef('0x26')](function(_0x329e9d){return _0x329e9d;});}return null;};}function removeEntity(_0x494f3b,_0x1d8375){return function(_0x1d050d){if(_0x1d050d){return _0x1d050d[_0xa3ef('0x27')]()[_0xa3ef('0x26')](function(){_0x494f3b[_0xa3ef('0x1c')](0xcc)[_0xa3ef('0x1b')]();});}};}function handleEntityNotFound(_0x246b80,_0x523e0f){return function(_0x116294){if(!_0x116294){_0x246b80[_0xa3ef('0x1a')](0x194);}return _0x116294;};}function handleError(_0x1a35f4,_0x53aee5){_0x53aee5=_0x53aee5||0x1f4;return function(_0x4dc7df){logger['error'](_0x4dc7df['stack']);if(_0x4dc7df[_0xa3ef('0x28')]){delete _0x4dc7df['name'];}_0x1a35f4[_0xa3ef('0x1c')](_0x53aee5)['send'](_0x4dc7df);};}exports['index']=function(_0x56cd6f,_0x1821eb){var _0x267fa1={},_0x361ea2={},_0x25199a={'count':0x0,'rows':[]};var _0x5076c6=_['map'](db[_0xa3ef('0x29')][_0xa3ef('0x2a')],function(_0x298b66){return{'name':_0x298b66['fieldName'],'type':_0x298b66['type']['key']};});_0x361ea2[_0xa3ef('0x2b')]=_[_0xa3ef('0x2c')](_0x5076c6,_0xa3ef('0x28'));_0x361ea2[_0xa3ef('0x2d')]=_[_0xa3ef('0x2e')](_0x56cd6f[_0xa3ef('0x2d')]);_0x361ea2[_0xa3ef('0x2f')]=_['intersection'](_0x361ea2[_0xa3ef('0x2b')],_0x361ea2['query']);_0x267fa1[_0xa3ef('0x30')]=_[_0xa3ef('0x31')](_0x361ea2[_0xa3ef('0x2b')],qs[_0xa3ef('0x32')](_0x56cd6f[_0xa3ef('0x2d')][_0xa3ef('0x32')]));_0x267fa1[_0xa3ef('0x30')]=_0x267fa1[_0xa3ef('0x30')][_0xa3ef('0x33')]?_0x267fa1['attributes']:_0x361ea2[_0xa3ef('0x2b')];if(!_0x56cd6f[_0xa3ef('0x2d')][_0xa3ef('0x34')](_0xa3ef('0x35'))){_0x267fa1[_0xa3ef('0x20')]=qs['limit'](_0x56cd6f['query'][_0xa3ef('0x20')]);_0x267fa1['offset']=qs[_0xa3ef('0x1f')](_0x56cd6f[_0xa3ef('0x2d')][_0xa3ef('0x1f')]);}_0x267fa1[_0xa3ef('0x36')]=qs['sort'](_0x56cd6f[_0xa3ef('0x2d')][_0xa3ef('0x37')]);_0x267fa1['where']=qs['filters'](_[_0xa3ef('0x38')](_0x56cd6f[_0xa3ef('0x2d')],_0x361ea2[_0xa3ef('0x2f')]));if(_0x56cd6f[_0xa3ef('0x2d')][_0xa3ef('0x39')]){_0x267fa1[_0xa3ef('0x3a')]=_[_0xa3ef('0x3b')](_0x267fa1[_0xa3ef('0x3a')],{'$or':_[_0xa3ef('0x2c')](_0x5076c6,function(_0x5511a2){if(_0x5511a2['type']!=='VIRTUAL'){var _0x381d3b={};_0x381d3b[_0x5511a2[_0xa3ef('0x28')]]={'$like':'%'+_0x56cd6f[_0xa3ef('0x2d')]['filter']+'%'};return _0x381d3b;}})});}_0x267fa1=_[_0xa3ef('0x3b')]({},_0x267fa1,_0x56cd6f[_0xa3ef('0x3c')]);var _0x3e1311={'where':_0x267fa1[_0xa3ef('0x3a')]};return db[_0xa3ef('0x29')][_0xa3ef('0x1e')](_0x3e1311)[_0xa3ef('0x26')](function(_0x244949){_0x25199a[_0xa3ef('0x1e')]=_0x244949;if(_0x56cd6f[_0xa3ef('0x2d')]['includeAll']){_0x267fa1[_0xa3ef('0x3d')]=[{'all':!![]}];}return db[_0xa3ef('0x29')]['findAll'](_0x267fa1);})['then'](function(_0x18a074){_0x25199a['rows']=_0x18a074;return _0x25199a;})['then'](respondWithFilteredResult(_0x1821eb,_0x267fa1))['catch'](handleError(_0x1821eb,null));};exports['show']=function(_0x1fb988,_0x814fb){var _0x418980={'raw':!![],'where':{'id':_0x1fb988[_0xa3ef('0x3e')]['id']}},_0x1ede85={};_0x1ede85[_0xa3ef('0x2b')]=_[_0xa3ef('0x2e')](db[_0xa3ef('0x29')][_0xa3ef('0x2a')]);_0x1ede85[_0xa3ef('0x2d')]=_[_0xa3ef('0x2e')](_0x1fb988[_0xa3ef('0x2d')]);_0x1ede85[_0xa3ef('0x2f')]=_[_0xa3ef('0x31')](_0x1ede85[_0xa3ef('0x2b')],_0x1ede85[_0xa3ef('0x2d')]);_0x418980['attributes']=_[_0xa3ef('0x31')](_0x1ede85[_0xa3ef('0x2b')],qs[_0xa3ef('0x32')](_0x1fb988[_0xa3ef('0x2d')]['fields']));_0x418980['attributes']=_0x418980[_0xa3ef('0x30')][_0xa3ef('0x33')]?_0x418980[_0xa3ef('0x30')]:_0x1ede85[_0xa3ef('0x2b')];if(_0x1fb988[_0xa3ef('0x2d')][_0xa3ef('0x3f')]){_0x418980[_0xa3ef('0x3d')]=[{'all':!![]}];}_0x418980=_[_0xa3ef('0x3b')]({},_0x418980,_0x1fb988[_0xa3ef('0x3c')]);return db[_0xa3ef('0x29')][_0xa3ef('0x40')](_0x418980)[_0xa3ef('0x26')](handleEntityNotFound(_0x814fb,null))[_0xa3ef('0x26')](respondWithResult(_0x814fb,null))[_0xa3ef('0x41')](handleError(_0x814fb,null));};exports[_0xa3ef('0x42')]=function(_0x3489d2,_0x209a1f){var _0x285010={'where':{'id':_0x3489d2[_0xa3ef('0x3e')]['id']}},_0x2e789e={};_0x2e789e[_0xa3ef('0x2b')]=_[_0xa3ef('0x2e')](db[_0xa3ef('0x29')]['rawAttributes']);_0x285010[_0xa3ef('0x30')]=_[_0xa3ef('0x31')](_0x2e789e[_0xa3ef('0x2b')],qs[_0xa3ef('0x32')](_0x3489d2['query'][_0xa3ef('0x32')]));_0x285010[_0xa3ef('0x30')]=_0x285010['attributes'][_0xa3ef('0x33')]?_0x285010[_0xa3ef('0x30')]:_0x2e789e[_0xa3ef('0x2b')];if(_0x3489d2[_0xa3ef('0x2d')][_0xa3ef('0x3f')]){_0x285010[_0xa3ef('0x3d')]=[{'all':!![]}];}_0x285010=_[_0xa3ef('0x3b')]({},_0x285010,_0x3489d2[_0xa3ef('0x3c')]);return db[_0xa3ef('0x29')]['find'](_0x285010)[_0xa3ef('0x26')](handleEntityNotFound(_0x209a1f,null))[_0xa3ef('0x26')](function(_0x225f8a){if(_0x225f8a){var _0x9e549a=_0x225f8a[_0xa3ef('0x43')]({'plain':!![]});_0x9e549a=qs[_0xa3ef('0x44')](_0x9e549a,['id',_0xa3ef('0x45'),'updatedAt']);_0x3489d2[_0xa3ef('0x46')]=_['omit'](_0x3489d2[_0xa3ef('0x46')],['id','createdAt',_0xa3ef('0x47')]);return db[_0xa3ef('0x29')][_0xa3ef('0x48')](_['merge'](_0x9e549a,_0x3489d2['body']),{'include':_0x3489d2[_0xa3ef('0x2d')]['includeAll']?[{'all':!![]}]:undefined});}})[_0xa3ef('0x26')](respondWithResult(_0x209a1f,0xc9))[_0xa3ef('0x41')](handleError(_0x209a1f,null));};exports[_0xa3ef('0x49')]=function(_0x5557e2,_0x6dbbff){if(_0x5557e2[_0xa3ef('0x46')]['id']){delete _0x5557e2[_0xa3ef('0x46')]['id'];}return db[_0xa3ef('0x29')][_0xa3ef('0x40')]({'where':{'id':_0x5557e2['params']['id']}})[_0xa3ef('0x26')](handleEntityNotFound(_0x6dbbff,null))[_0xa3ef('0x26')](saveUpdates(_0x5557e2[_0xa3ef('0x46')],null))[_0xa3ef('0x26')](respondWithResult(_0x6dbbff,null))['catch'](handleError(_0x6dbbff,null));};exports[_0xa3ef('0x27')]=function(_0x26158e,_0x441fc4){return db['Attachment'][_0xa3ef('0x40')]({'where':{'id':_0x26158e[_0xa3ef('0x3e')]['id']}})[_0xa3ef('0x26')](handleEntityNotFound(_0x441fc4,null))['then'](removeEntity(_0x441fc4,null))[_0xa3ef('0x41')](handleError(_0x441fc4,null));};exports['create']=function(_0x4d5d73,_0x58a0c7,_0x1b8452){_0x4d5d73[_0xa3ef('0x46')][_0xa3ef('0x28')]=_0x4d5d73[_0xa3ef('0x4a')][_0xa3ef('0x4b')];_0x4d5d73[_0xa3ef('0x46')]['basename']=_0x4d5d73[_0xa3ef('0x4a')]['filename'];_0x4d5d73[_0xa3ef('0x46')][_0xa3ef('0x4c')]=_0x4d5d73['file']['mimetype'];return db[_0xa3ef('0x29')][_0xa3ef('0x48')](_0x4d5d73['body'])[_0xa3ef('0x26')](respondWithResult(_0x58a0c7,0xc9))[_0xa3ef('0x41')](handleError(_0x58a0c7,null));};exports['download']=function(_0x2838cd,_0x49761e,_0x4e2b5b){return db[_0xa3ef('0x29')][_0xa3ef('0x4d')]({'where':{'id':_0x2838cd[_0xa3ef('0x3e')]['id']},'raw':!![]})[_0xa3ef('0x26')](handleEntityNotFound(_0x49761e,null))[_0xa3ef('0x26')](function(_0xb8a67a){if(_0xb8a67a){return _0x49761e['download'](path['join'](config['root'],_0xa3ef('0x4e'),_0xb8a67a['basename']));}})[_0xa3ef('0x41')](handleError(_0x49761e,null));};