Built motion from commit (unavailable).|2.5.1
[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 _0x62e6=['squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','limit','set','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','Attachment','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','VIRTUAL','filter','merge','options','count','includeAll','include','findAll','catch','show','params','find','clone','get','createdAt','updatedAt','body','omit','create','basename','file','filename','download','join','server/files/attachments/','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash'];(function(_0x277bd4,_0x18b5ff){var _0x5aaac1=function(_0x1db79a){while(--_0x1db79a){_0x277bd4['push'](_0x277bd4['shift']());}};_0x5aaac1(++_0x18b5ff);}(_0x62e6,0xfe));var _0x662e=function(_0x22c684,_0x753309){_0x22c684=_0x22c684-0x0;var _0x39fcbb=_0x62e6[_0x22c684];return _0x39fcbb;};'use strict';var pdf=require(_0x662e('0x0'));var emlformat=require(_0x662e('0x1'));var rimraf=require(_0x662e('0x2'));var zipdir=require(_0x662e('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x662e('0x4'));var BPromise=require(_0x662e('0x5'));var Mustache=require(_0x662e('0x6'));var util=require(_0x662e('0x7'));var path=require(_0x662e('0x8'));var sox=require(_0x662e('0x9'));var csv=require(_0x662e('0xa'));var ejs=require(_0x662e('0xb'));var fs=require('fs');var _=require(_0x662e('0xc'));var squel=require(_0x662e('0xd'));var crypto=require('crypto');var jsforce=require(_0x662e('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x662e('0xa'));var querystring=require(_0x662e('0xf'));var Papa=require('papaparse');var Redis=require(_0x662e('0x10'));var authService=require(_0x662e('0x11'));var qs=require(_0x662e('0x12'));var as=require(_0x662e('0x13'));var hardwareService=require(_0x662e('0x14'));var logger=require(_0x662e('0x15'))(_0x662e('0x16'));var utils=require(_0x662e('0x17'));var config=require(_0x662e('0x18'));var db=require(_0x662e('0x19'))['db'];function respondWithStatusCode(_0x4f75dd,_0x402dc6){_0x402dc6=_0x402dc6||0xcc;return function(_0x271c8d){if(_0x271c8d){return _0x4f75dd['sendStatus'](_0x402dc6);}return _0x4f75dd[_0x662e('0x1a')](_0x402dc6)[_0x662e('0x1b')]();};}function respondWithResult(_0x4ac868,_0x142ec2){_0x142ec2=_0x142ec2||0xc8;return function(_0xa75b0){if(_0xa75b0){return _0x4ac868[_0x662e('0x1a')](_0x142ec2)[_0x662e('0x1c')](_0xa75b0);}};}function respondWithFilteredResult(_0x3b9e18,_0x21ff10){return function(_0x4c6789){if(_0x4c6789){var _0x4b2472=_0x4c6789['count'],_0x4f4de5=_0x21ff10[_0x662e('0x1d')],_0x54181d=_0x21ff10[_0x662e('0x1d')]+_0x21ff10[_0x662e('0x1e')],_0x39cb60;if(_0x54181d>=_0x4b2472){_0x54181d=_0x4b2472;_0x39cb60=0xc8;}else{_0x39cb60=0xce;}_0x3b9e18[_0x662e('0x1a')](_0x39cb60);return _0x3b9e18[_0x662e('0x1f')]('Content-Range',_0x4f4de5+'-'+_0x54181d+'/'+_0x4b2472)[_0x662e('0x1c')](_0x4c6789);}return null;};}function patchUpdates(_0x597403){return function(_0x1e7405){try{jsonpatch[_0x662e('0x20')](_0x1e7405,_0x597403,!![]);}catch(_0x190be9){return BPromise[_0x662e('0x21')](_0x190be9);}return _0x1e7405[_0x662e('0x22')]();};}function saveUpdates(_0x814f3a,_0x55111a){return function(_0x25da55){if(_0x25da55){return _0x25da55[_0x662e('0x23')](_0x814f3a)[_0x662e('0x24')](function(_0x281c77){return _0x281c77;});}return null;};}function removeEntity(_0x49550b,_0x139807){return function(_0x4c4cc8){if(_0x4c4cc8){return _0x4c4cc8[_0x662e('0x25')]()['then'](function(){_0x49550b[_0x662e('0x1a')](0xcc)[_0x662e('0x1b')]();});}};}function handleEntityNotFound(_0x40f3ba,_0xb700dc){return function(_0xc568ce){if(!_0xc568ce){_0x40f3ba[_0x662e('0x26')](0x194);}return _0xc568ce;};}function handleError(_0x34dee0,_0x5f46e5){_0x5f46e5=_0x5f46e5||0x1f4;return function(_0x947b2){logger[_0x662e('0x27')](_0x947b2[_0x662e('0x28')]);if(_0x947b2[_0x662e('0x29')]){delete _0x947b2[_0x662e('0x29')];}_0x34dee0[_0x662e('0x1a')](_0x5f46e5)[_0x662e('0x2a')](_0x947b2);};}exports[_0x662e('0x2b')]=function(_0x5cad96,_0x68e48){var _0x75160c={},_0x187b0e={},_0xdf3ef4={'count':0x0,'rows':[]};var _0x5a4fef=_[_0x662e('0x2c')](db[_0x662e('0x2d')][_0x662e('0x2e')],function(_0x355263){return{'name':_0x355263[_0x662e('0x2f')],'type':_0x355263[_0x662e('0x30')][_0x662e('0x31')]};});_0x187b0e[_0x662e('0x32')]=_['map'](_0x5a4fef,_0x662e('0x29'));_0x187b0e[_0x662e('0x33')]=_[_0x662e('0x34')](_0x5cad96[_0x662e('0x33')]);_0x187b0e[_0x662e('0x35')]=_[_0x662e('0x36')](_0x187b0e[_0x662e('0x32')],_0x187b0e['query']);_0x75160c[_0x662e('0x37')]=_['intersection'](_0x187b0e['model'],qs[_0x662e('0x38')](_0x5cad96[_0x662e('0x33')][_0x662e('0x38')]));_0x75160c[_0x662e('0x37')]=_0x75160c[_0x662e('0x37')][_0x662e('0x39')]?_0x75160c[_0x662e('0x37')]:_0x187b0e['model'];if(!_0x5cad96[_0x662e('0x33')][_0x662e('0x3a')](_0x662e('0x3b'))){_0x75160c[_0x662e('0x1e')]=qs[_0x662e('0x1e')](_0x5cad96[_0x662e('0x33')][_0x662e('0x1e')]);_0x75160c['offset']=qs['offset'](_0x5cad96['query']['offset']);}_0x75160c[_0x662e('0x3c')]=qs['sort'](_0x5cad96['query'][_0x662e('0x3d')]);_0x75160c['where']=qs[_0x662e('0x35')](_[_0x662e('0x3e')](_0x5cad96[_0x662e('0x33')],_0x187b0e['filters']),_0x5a4fef);if(_0x5cad96[_0x662e('0x33')]['filter']){_0x75160c[_0x662e('0x3f')]=_['merge'](_0x75160c[_0x662e('0x3f')],{'$or':_[_0x662e('0x2c')](_0x5a4fef,function(_0x4ad63e){if(_0x4ad63e[_0x662e('0x30')]!==_0x662e('0x40')){var _0x13fb37={};_0x13fb37[_0x4ad63e[_0x662e('0x29')]]={'$like':'%'+_0x5cad96[_0x662e('0x33')][_0x662e('0x41')]+'%'};return _0x13fb37;}})});}_0x75160c=_[_0x662e('0x42')]({},_0x75160c,_0x5cad96[_0x662e('0x43')]);var _0x5af038={'where':_0x75160c[_0x662e('0x3f')]};return db[_0x662e('0x2d')][_0x662e('0x44')](_0x5af038)[_0x662e('0x24')](function(_0x289fc7){_0xdf3ef4['count']=_0x289fc7;if(_0x5cad96[_0x662e('0x33')][_0x662e('0x45')]){_0x75160c[_0x662e('0x46')]=[{'all':!![]}];}return db[_0x662e('0x2d')][_0x662e('0x47')](_0x75160c);})[_0x662e('0x24')](function(_0x229b66){_0xdf3ef4['rows']=_0x229b66;return _0xdf3ef4;})[_0x662e('0x24')](respondWithFilteredResult(_0x68e48,_0x75160c))[_0x662e('0x48')](handleError(_0x68e48,null));};exports[_0x662e('0x49')]=function(_0x195ea5,_0x413de4){var _0x2f3a51={'raw':!![],'where':{'id':_0x195ea5[_0x662e('0x4a')]['id']}},_0x3adf44={};_0x3adf44[_0x662e('0x32')]=_[_0x662e('0x34')](db['Attachment'][_0x662e('0x2e')]);_0x3adf44[_0x662e('0x33')]=_[_0x662e('0x34')](_0x195ea5[_0x662e('0x33')]);_0x3adf44[_0x662e('0x35')]=_[_0x662e('0x36')](_0x3adf44[_0x662e('0x32')],_0x3adf44[_0x662e('0x33')]);_0x2f3a51[_0x662e('0x37')]=_[_0x662e('0x36')](_0x3adf44[_0x662e('0x32')],qs[_0x662e('0x38')](_0x195ea5[_0x662e('0x33')]['fields']));_0x2f3a51['attributes']=_0x2f3a51[_0x662e('0x37')][_0x662e('0x39')]?_0x2f3a51[_0x662e('0x37')]:_0x3adf44['model'];if(_0x195ea5[_0x662e('0x33')][_0x662e('0x45')]){_0x2f3a51[_0x662e('0x46')]=[{'all':!![]}];}_0x2f3a51=_[_0x662e('0x42')]({},_0x2f3a51,_0x195ea5[_0x662e('0x43')]);return db[_0x662e('0x2d')][_0x662e('0x4b')](_0x2f3a51)[_0x662e('0x24')](handleEntityNotFound(_0x413de4,null))[_0x662e('0x24')](respondWithResult(_0x413de4,null))['catch'](handleError(_0x413de4,null));};exports[_0x662e('0x4c')]=function(_0x45aba1,_0x4f00af){var _0x1be2ac={'where':{'id':_0x45aba1[_0x662e('0x4a')]['id']}},_0x4a11ad={};_0x4a11ad['model']=_[_0x662e('0x34')](db['Attachment']['rawAttributes']);_0x1be2ac['attributes']=_['intersection'](_0x4a11ad[_0x662e('0x32')],qs[_0x662e('0x38')](_0x45aba1[_0x662e('0x33')][_0x662e('0x38')]));_0x1be2ac['attributes']=_0x1be2ac[_0x662e('0x37')]['length']?_0x1be2ac['attributes']:_0x4a11ad[_0x662e('0x32')];if(_0x45aba1[_0x662e('0x33')][_0x662e('0x45')]){_0x1be2ac[_0x662e('0x46')]=[{'all':!![]}];}_0x1be2ac=_['merge']({},_0x1be2ac,_0x45aba1[_0x662e('0x43')]);return db['Attachment']['find'](_0x1be2ac)[_0x662e('0x24')](handleEntityNotFound(_0x4f00af,null))[_0x662e('0x24')](function(_0x4d8f87){if(_0x4d8f87){var _0x8a41cc=_0x4d8f87[_0x662e('0x4d')]({'plain':!![]});_0x8a41cc=qs['omit'](_0x8a41cc,['id',_0x662e('0x4e'),_0x662e('0x4f')]);_0x45aba1[_0x662e('0x50')]=_[_0x662e('0x51')](_0x45aba1['body'],['id',_0x662e('0x4e'),'updatedAt']);return db[_0x662e('0x2d')][_0x662e('0x52')](_[_0x662e('0x42')](_0x8a41cc,_0x45aba1[_0x662e('0x50')]),{'include':_0x45aba1[_0x662e('0x33')][_0x662e('0x45')]?[{'all':!![]}]:undefined});}})[_0x662e('0x24')](respondWithResult(_0x4f00af,0xc9))[_0x662e('0x48')](handleError(_0x4f00af,null));};exports[_0x662e('0x23')]=function(_0x40a608,_0x2066aa){if(_0x40a608[_0x662e('0x50')]['id']){delete _0x40a608[_0x662e('0x50')]['id'];}return db[_0x662e('0x2d')]['find']({'where':{'id':_0x40a608[_0x662e('0x4a')]['id']}})[_0x662e('0x24')](handleEntityNotFound(_0x2066aa,null))['then'](saveUpdates(_0x40a608[_0x662e('0x50')],null))[_0x662e('0x24')](respondWithResult(_0x2066aa,null))[_0x662e('0x48')](handleError(_0x2066aa,null));};exports['destroy']=function(_0x891c98,_0x22099f){return db[_0x662e('0x2d')][_0x662e('0x4b')]({'where':{'id':_0x891c98['params']['id']}})[_0x662e('0x24')](handleEntityNotFound(_0x22099f,null))['then'](removeEntity(_0x22099f,null))[_0x662e('0x48')](handleError(_0x22099f,null));};exports[_0x662e('0x52')]=function(_0x346d69,_0x379b20,_0x3d62a7){_0x346d69['body'][_0x662e('0x29')]=_0x346d69['file']['originalname'];_0x346d69[_0x662e('0x50')][_0x662e('0x53')]=_0x346d69[_0x662e('0x54')][_0x662e('0x55')];_0x346d69['body'][_0x662e('0x30')]=_0x346d69[_0x662e('0x54')]['mimetype'];return db[_0x662e('0x2d')][_0x662e('0x52')](_0x346d69['body'])[_0x662e('0x24')](respondWithResult(_0x379b20,0xc9))[_0x662e('0x48')](handleError(_0x379b20,null));};exports[_0x662e('0x56')]=function(_0x175f74,_0x1d78d0,_0x4019cc){return db['Attachment']['findOne']({'where':{'id':_0x175f74[_0x662e('0x4a')]['id']},'raw':!![]})[_0x662e('0x24')](handleEntityNotFound(_0x1d78d0,null))['then'](function(_0x39f35b){if(_0x39f35b){return _0x1d78d0[_0x662e('0x56')](path[_0x662e('0x57')](config['root'],_0x662e('0x58'),_0x39f35b[_0x662e('0x53')]));}})[_0x662e('0x48')](handleError(_0x1d78d0,null));};