Built motion from commit (unavailable).|2.5.7
[motion2.git] / server / api / squareRecording / squareRecording.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 _0x83d6=['name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','filter','where','VIRTUAL','merge','options','SquareRecording','include','findAll','catch','show','params','includeAll','find','create','body','download','../../components/encryptor','uniqueid','savePath','format','%s.cypher','recording','existsSync','Sequelize','SquareRecording\x20not\x20found','filename','unlink','message','Entity\x20not\x20found','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','info','html-pdf','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','jsforce','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','apply','reject','update','destroy','then','sendStatus','error'];(function(_0x3d2bc4,_0x1511ee){var _0x57ff81=function(_0x45ba2e){while(--_0x45ba2e){_0x3d2bc4['push'](_0x3d2bc4['shift']());}};_0x57ff81(++_0x1511ee);}(_0x83d6,0xe9));var _0x683d=function(_0x9fa65d,_0x89ce89){_0x9fa65d=_0x9fa65d-0x0;var _0x867a0f=_0x83d6[_0x9fa65d];return _0x867a0f;};'use strict';var pdf=require(_0x683d('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x683d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x683d('0x2'));var rp=require(_0x683d('0x3'));var moment=require('moment');var BPromise=require(_0x683d('0x4'));var Mustache=require(_0x683d('0x5'));var util=require(_0x683d('0x6'));var path=require(_0x683d('0x7'));var sox=require(_0x683d('0x8'));var csv=require(_0x683d('0x9'));var ejs=require(_0x683d('0xa'));var fs=require('fs');var _=require(_0x683d('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x683d('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x683d('0x9'));var querystring=require(_0x683d('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x683d('0xe'));var as=require(_0x683d('0xf'));var hardwareService=require(_0x683d('0x10'));var logger=require(_0x683d('0x11'))(_0x683d('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x683d('0x13'));var db=require(_0x683d('0x14'))['db'];function respondWithStatusCode(_0x59199f,_0xda7500){_0xda7500=_0xda7500||0xcc;return function(_0x3e63a1){if(_0x3e63a1){return _0x59199f['sendStatus'](_0xda7500);}return _0x59199f[_0x683d('0x15')](_0xda7500)[_0x683d('0x16')]();};}function respondWithResult(_0x250d98,_0x3755eb){_0x3755eb=_0x3755eb||0xc8;return function(_0x3f2ed1){if(_0x3f2ed1){return _0x250d98[_0x683d('0x15')](_0x3755eb)[_0x683d('0x17')](_0x3f2ed1);}};}function respondWithFilteredResult(_0x5c9065,_0x56c8e1){return function(_0x2c27a8){if(_0x2c27a8){var _0x21ae38=_0x2c27a8[_0x683d('0x18')],_0x54592b=_0x56c8e1[_0x683d('0x19')],_0x329b58=_0x56c8e1['offset']+_0x56c8e1[_0x683d('0x1a')],_0x9d6a48;if(_0x329b58>=_0x21ae38){_0x329b58=_0x21ae38;_0x9d6a48=0xc8;}else{_0x9d6a48=0xce;}_0x5c9065[_0x683d('0x15')](_0x9d6a48);return _0x5c9065['set']('Content-Range',_0x54592b+'-'+_0x329b58+'/'+_0x21ae38)['json'](_0x2c27a8);}return null;};}function patchUpdates(_0x2ced18){return function(_0x410cfb){try{jsonpatch[_0x683d('0x1b')](_0x410cfb,_0x2ced18,!![]);}catch(_0x2c316e){return BPromise[_0x683d('0x1c')](_0x2c316e);}return _0x410cfb['save']();};}function saveUpdates(_0xcb69e0,_0x4a2a9d){return function(_0x45929c){if(_0x45929c){return _0x45929c[_0x683d('0x1d')](_0xcb69e0)['then'](function(_0x1a37fb){return _0x1a37fb;});}return null;};}function removeEntity(_0x408e4d,_0x162f8a){return function(_0x1fe118){if(_0x1fe118){return _0x1fe118[_0x683d('0x1e')]()[_0x683d('0x1f')](function(){_0x408e4d[_0x683d('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4779a5,_0x3f6146){return function(_0x3c766d){if(!_0x3c766d){_0x4779a5[_0x683d('0x20')](0x194);}return _0x3c766d;};}function handleError(_0x5f3f9a,_0x397e07){_0x397e07=_0x397e07||0x1f4;return function(_0x5bcd71){logger[_0x683d('0x21')](_0x5bcd71['stack']);if(_0x5bcd71['name']){delete _0x5bcd71[_0x683d('0x22')];}_0x5f3f9a['status'](_0x397e07)[_0x683d('0x23')](_0x5bcd71);};}exports[_0x683d('0x24')]=function(_0x5d388d,_0x486092){var _0x513b3d={},_0x2735e9={},_0x5a2832={'count':0x0,'rows':[]};var _0x557e47=_[_0x683d('0x25')](db['SquareRecording'][_0x683d('0x26')],function(_0x1786b0){return{'name':_0x1786b0[_0x683d('0x27')],'type':_0x1786b0[_0x683d('0x28')][_0x683d('0x29')]};});_0x2735e9[_0x683d('0x2a')]=_[_0x683d('0x25')](_0x557e47,_0x683d('0x22'));_0x2735e9[_0x683d('0x2b')]=_[_0x683d('0x2c')](_0x5d388d[_0x683d('0x2b')]);_0x2735e9['filters']=_[_0x683d('0x2d')](_0x2735e9[_0x683d('0x2a')],_0x2735e9[_0x683d('0x2b')]);_0x513b3d[_0x683d('0x2e')]=_['intersection'](_0x2735e9[_0x683d('0x2a')],qs[_0x683d('0x2f')](_0x5d388d['query'][_0x683d('0x2f')]));_0x513b3d[_0x683d('0x2e')]=_0x513b3d[_0x683d('0x2e')][_0x683d('0x30')]?_0x513b3d[_0x683d('0x2e')]:_0x2735e9['model'];if(!_0x5d388d[_0x683d('0x2b')][_0x683d('0x31')](_0x683d('0x32'))){_0x513b3d['limit']=qs[_0x683d('0x1a')](_0x5d388d['query'][_0x683d('0x1a')]);_0x513b3d[_0x683d('0x19')]=qs[_0x683d('0x19')](_0x5d388d[_0x683d('0x2b')][_0x683d('0x19')]);}_0x513b3d['order']=qs[_0x683d('0x33')](_0x5d388d[_0x683d('0x2b')][_0x683d('0x33')]);_0x513b3d['where']=qs[_0x683d('0x34')](_[_0x683d('0x35')](_0x5d388d[_0x683d('0x2b')],_0x2735e9[_0x683d('0x34')]),_0x557e47);if(_0x5d388d[_0x683d('0x2b')][_0x683d('0x36')]){_0x513b3d[_0x683d('0x37')]=_['merge'](_0x513b3d['where'],{'$or':_[_0x683d('0x25')](_0x557e47,function(_0x5af681){if(_0x5af681[_0x683d('0x28')]!==_0x683d('0x38')){var _0x31561a={};_0x31561a[_0x5af681['name']]={'$like':'%'+_0x5d388d[_0x683d('0x2b')][_0x683d('0x36')]+'%'};return _0x31561a;}})});}_0x513b3d=_[_0x683d('0x39')]({},_0x513b3d,_0x5d388d[_0x683d('0x3a')]);var _0x4781dd={'where':_0x513b3d[_0x683d('0x37')]};return db[_0x683d('0x3b')]['count'](_0x4781dd)['then'](function(_0x45492a){_0x5a2832[_0x683d('0x18')]=_0x45492a;if(_0x5d388d[_0x683d('0x2b')]['includeAll']){_0x513b3d[_0x683d('0x3c')]=[{'all':!![]}];}return db[_0x683d('0x3b')][_0x683d('0x3d')](_0x513b3d);})[_0x683d('0x1f')](function(_0x4956ad){_0x5a2832['rows']=_0x4956ad;return _0x5a2832;})[_0x683d('0x1f')](respondWithFilteredResult(_0x486092,_0x513b3d))[_0x683d('0x3e')](handleError(_0x486092,null));};exports[_0x683d('0x3f')]=function(_0x551b68,_0x7b53ce){var _0x5aaccc={'raw':!![],'where':{'id':_0x551b68[_0x683d('0x40')]['id']}},_0x14efa8={};_0x14efa8['model']=_[_0x683d('0x2c')](db['SquareRecording']['rawAttributes']);_0x14efa8[_0x683d('0x2b')]=_[_0x683d('0x2c')](_0x551b68[_0x683d('0x2b')]);_0x14efa8['filters']=_[_0x683d('0x2d')](_0x14efa8[_0x683d('0x2a')],_0x14efa8['query']);_0x5aaccc[_0x683d('0x2e')]=_[_0x683d('0x2d')](_0x14efa8['model'],qs[_0x683d('0x2f')](_0x551b68[_0x683d('0x2b')][_0x683d('0x2f')]));_0x5aaccc[_0x683d('0x2e')]=_0x5aaccc[_0x683d('0x2e')]['length']?_0x5aaccc['attributes']:_0x14efa8[_0x683d('0x2a')];if(_0x551b68[_0x683d('0x2b')][_0x683d('0x41')]){_0x5aaccc['include']=[{'all':!![]}];}_0x5aaccc=_['merge']({},_0x5aaccc,_0x551b68[_0x683d('0x3a')]);return db[_0x683d('0x3b')][_0x683d('0x42')](_0x5aaccc)[_0x683d('0x1f')](handleEntityNotFound(_0x7b53ce,null))[_0x683d('0x1f')](respondWithResult(_0x7b53ce,null))[_0x683d('0x3e')](handleError(_0x7b53ce,null));};exports[_0x683d('0x43')]=function(_0x279c32,_0x2d98fe){return db[_0x683d('0x3b')][_0x683d('0x43')](_0x279c32['body'],{})[_0x683d('0x1f')](respondWithResult(_0x2d98fe,0xc9))[_0x683d('0x3e')](handleError(_0x2d98fe,null));};exports['update']=function(_0x1d4fbc,_0x31b11f){if(_0x1d4fbc[_0x683d('0x44')]['id']){delete _0x1d4fbc[_0x683d('0x44')]['id'];}return db['SquareRecording']['find']({'where':{'id':_0x1d4fbc[_0x683d('0x40')]['id']}})[_0x683d('0x1f')](handleEntityNotFound(_0x31b11f,null))[_0x683d('0x1f')](saveUpdates(_0x1d4fbc[_0x683d('0x44')],null))[_0x683d('0x1f')](respondWithResult(_0x31b11f,null))[_0x683d('0x3e')](handleError(_0x31b11f,null));};exports[_0x683d('0x45')]=function(_0x7df502,_0x26690d,_0x5350d5){var _0x216627=require(_0x683d('0x46'));var _0x5ca80b=![];var _0x339912={};if(_0x7df502['query']['type']&&_0x7df502[_0x683d('0x2b')]['type']===_0x683d('0x47')){_0x339912['uniqueid']=_0x7df502['params']['id'];}else{_0x339912['id']=_0x7df502[_0x683d('0x40')]['id'];}return db['SquareRecording'][_0x683d('0x42')]({'where':_0x339912,'attributes':['id',_0x683d('0x48'),'filename'],'raw':!![]})[_0x683d('0x1f')](handleEntityNotFound(_0x26690d,null))['then'](function(_0x10cd2e){if(_0x10cd2e){var _0xb93ef7=_0x10cd2e[_0x683d('0x48')];var _0x392f7b=util[_0x683d('0x49')](_0x683d('0x4a'),_0xb93ef7);if(fs['existsSync'](_0x392f7b)){_0x5ca80b=!![];return _0x216627['decryptFile'](_0x392f7b,_0xb93ef7,config['secrets'][_0x683d('0x4b')])[_0x683d('0x1f')](function(){return _0x10cd2e;});}return _0x10cd2e;}})[_0x683d('0x1f')](function(_0x2822b2){if(_0x2822b2){var _0x21f8a1=_0x2822b2[_0x683d('0x48')];if(!fs[_0x683d('0x4c')](_0x21f8a1)){throw new db[(_0x683d('0x4d'))]['ValidationError'](_0x683d('0x4e'));}if(_0x2822b2[_0x683d('0x4f')]){return _0x26690d[_0x683d('0x45')](_0x21f8a1,_0x2822b2[_0x683d('0x4f')]+path['extname'](_0x21f8a1),function(){if(_0x5ca80b){fs['unlink'](_0x21f8a1);}});}else{return _0x26690d[_0x683d('0x45')](_0x21f8a1,function(_0x14e74d){if(_0x5ca80b){fs[_0x683d('0x50')](_0x21f8a1);}});}}})['catch'](function(_0x1398bc){if(_0x1398bc[_0x683d('0x51')]===_0x683d('0x4e')){_0x26690d['status'](0x194)[_0x683d('0x23')]('Not\x20found');}else{return handleError(_0x26690d,null);}});};exports['destroy']=function(_0x465e81,_0x62874){return db[_0x683d('0x3b')][_0x683d('0x42')]({'where':{'id':_0x465e81['params']['id']}})['then'](function(_0x1e40e7){if(!_0x1e40e7)throw new ReferenceError(_0x683d('0x52'));return _0x1e40e7;})['then'](function(_0x1d6b2e){var _0x5f0200=_0x1d6b2e[_0x683d('0x48')];logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x5f0200);if(!_[_0x683d('0x53')](_0x1d6b2e[_0x683d('0x48')])&&fs['existsSync'](_0x5f0200)){logger['info'](_0x683d('0x54')+_0x5f0200+_0x683d('0x55'));fs[_0x683d('0x56')](_0x5f0200);}_0x5f0200=_0x5f0200+_0x683d('0x57');if(!_[_0x683d('0x53')](_0x1d6b2e[_0x683d('0x48')])&&fs[_0x683d('0x4c')](_0x5f0200)){logger[_0x683d('0x58')](_0x683d('0x54')+_0x5f0200+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x683d('0x56')](_0x5f0200);}return _0x1d6b2e;})['then'](function(_0x10f246){if(!_0x10f246)throw new InternalError();return _0x10f246[_0x683d('0x1e')]();})[_0x683d('0x1f')](function(){_0x62874[_0x683d('0x15')](0xcc)[_0x683d('0x16')]();})[_0x683d('0x3e')](handleError(_0x62874,null));};