8eca0422977d73f59c4541879d5bb6d4d0aaa49e
[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 _0x1b08=['fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','includeAll','include','rows','catch','show','params','find','create','body','download','uniqueid','savePath','format','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','isNil','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','File:\x20\x22','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','sendStatus','status','end','offset','limit','count','set','json','save','then','destroy','error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','key','keys','query','model','attributes','intersection'];(function(_0x58782d,_0x1626c8){var _0xb7f937=function(_0x462ada){while(--_0x462ada){_0x58782d['push'](_0x58782d['shift']());}};_0xb7f937(++_0x1626c8);}(_0x1b08,0x1e7));var _0x81b0=function(_0x207a02,_0x278c56){_0x207a02=_0x207a02-0x0;var _0xd995c3=_0x1b08[_0x207a02];return _0xd995c3;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x81b0('0x0'));var rp=require(_0x81b0('0x1'));var moment=require(_0x81b0('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x81b0('0x3'));var util=require('util');var path=require(_0x81b0('0x4'));var sox=require(_0x81b0('0x5'));var csv=require(_0x81b0('0x6'));var ejs=require(_0x81b0('0x7'));var fs=require('fs');var fs_extra=require(_0x81b0('0x8'));var _=require(_0x81b0('0x9'));var squel=require(_0x81b0('0xa'));var crypto=require(_0x81b0('0xb'));var jsforce=require(_0x81b0('0xc'));var deskjs=require(_0x81b0('0xd'));var toCsv=require(_0x81b0('0x6'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x81b0('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x81b0('0xf'));var as=require(_0x81b0('0x10'));var hardwareService=require(_0x81b0('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x81b0('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x81b0('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x494bb9,_0x842ad1){_0x842ad1=_0x842ad1||0xcc;return function(_0x5deb57){if(_0x5deb57){return _0x494bb9[_0x81b0('0x14')](_0x842ad1);}return _0x494bb9[_0x81b0('0x15')](_0x842ad1)[_0x81b0('0x16')]();};}function respondWithResult(_0x29132f,_0x3f7ec0){_0x3f7ec0=_0x3f7ec0||0xc8;return function(_0x3c5100){if(_0x3c5100){return _0x29132f[_0x81b0('0x15')](_0x3f7ec0)['json'](_0x3c5100);}};}function respondWithFilteredResult(_0x126ee3,_0x51483d){return function(_0x14e3fd){if(_0x14e3fd){var _0x1a6201=typeof _0x51483d[_0x81b0('0x17')]==='undefined'&&typeof _0x51483d[_0x81b0('0x18')]==='undefined';var _0x2d83f7=_0x14e3fd[_0x81b0('0x19')];var _0x323f0b=_0x1a6201?0x0:_0x51483d[_0x81b0('0x17')];var _0x554cce=_0x1a6201?_0x14e3fd[_0x81b0('0x19')]:_0x51483d['offset']+_0x51483d['limit'];var _0x809df1;if(_0x554cce>=_0x2d83f7){_0x554cce=_0x2d83f7;_0x809df1=0xc8;}else{_0x809df1=0xce;}_0x126ee3[_0x81b0('0x15')](_0x809df1);return _0x126ee3[_0x81b0('0x1a')]('Content-Range',_0x323f0b+'-'+_0x554cce+'/'+_0x2d83f7)[_0x81b0('0x1b')](_0x14e3fd);}return null;};}function patchUpdates(_0x7a42e5){return function(_0xe33092){try{jsonpatch['apply'](_0xe33092,_0x7a42e5,!![]);}catch(_0x150579){return BPromise['reject'](_0x150579);}return _0xe33092[_0x81b0('0x1c')]();};}function saveUpdates(_0x108be8,_0x1677f6){return function(_0x2f6493){if(_0x2f6493){return _0x2f6493['update'](_0x108be8)[_0x81b0('0x1d')](function(_0x132325){return _0x132325;});}return null;};}function removeEntity(_0xc947ab,_0x15303c){return function(_0x511ccb){if(_0x511ccb){return _0x511ccb[_0x81b0('0x1e')]()[_0x81b0('0x1d')](function(){_0xc947ab[_0x81b0('0x15')](0xcc)[_0x81b0('0x16')]();});}};}function handleEntityNotFound(_0x59df0a,_0x32eff3){return function(_0x33880e){if(!_0x33880e){_0x59df0a['sendStatus'](0x194);}return _0x33880e;};}function handleError(_0x65d8c5,_0x598816){_0x598816=_0x598816||0x1f4;return function(_0xb8088a){logger[_0x81b0('0x1f')](_0xb8088a[_0x81b0('0x20')]);if(_0xb8088a[_0x81b0('0x21')]){delete _0xb8088a['name'];}_0x65d8c5[_0x81b0('0x15')](_0x598816)[_0x81b0('0x22')](_0xb8088a);};}exports[_0x81b0('0x23')]=function(_0x5f2966,_0x2b189d){var _0x1b008d={},_0x32f866={},_0xfda198={'count':0x0,'rows':[]};var _0x211aa8=_[_0x81b0('0x24')](db[_0x81b0('0x25')][_0x81b0('0x26')],function(_0x15d8be){return{'name':_0x15d8be[_0x81b0('0x27')],'type':_0x15d8be[_0x81b0('0x28')][_0x81b0('0x29')]};});_0x32f866['model']=_['map'](_0x211aa8,'name');_0x32f866['query']=_[_0x81b0('0x2a')](_0x5f2966[_0x81b0('0x2b')]);_0x32f866['filters']=_['intersection'](_0x32f866[_0x81b0('0x2c')],_0x32f866[_0x81b0('0x2b')]);_0x1b008d[_0x81b0('0x2d')]=_[_0x81b0('0x2e')](_0x32f866['model'],qs[_0x81b0('0x2f')](_0x5f2966[_0x81b0('0x2b')][_0x81b0('0x2f')]));_0x1b008d[_0x81b0('0x2d')]=_0x1b008d[_0x81b0('0x2d')][_0x81b0('0x30')]?_0x1b008d['attributes']:_0x32f866[_0x81b0('0x2c')];if(!_0x5f2966[_0x81b0('0x2b')][_0x81b0('0x31')](_0x81b0('0x32'))){_0x1b008d[_0x81b0('0x18')]=qs[_0x81b0('0x18')](_0x5f2966[_0x81b0('0x2b')][_0x81b0('0x18')]);_0x1b008d['offset']=qs[_0x81b0('0x17')](_0x5f2966['query'][_0x81b0('0x17')]);}_0x1b008d['order']=qs[_0x81b0('0x33')](_0x5f2966['query']['sort']);_0x1b008d[_0x81b0('0x34')]=qs[_0x81b0('0x35')](_[_0x81b0('0x36')](_0x5f2966[_0x81b0('0x2b')],_0x32f866[_0x81b0('0x35')]),_0x211aa8);if(_0x5f2966[_0x81b0('0x2b')][_0x81b0('0x37')]){_0x1b008d[_0x81b0('0x34')]=_['merge'](_0x1b008d[_0x81b0('0x34')],{'$or':_[_0x81b0('0x24')](_0x211aa8,function(_0x8d9454){if(_0x8d9454[_0x81b0('0x28')]!==_0x81b0('0x38')){var _0x573b78={};_0x573b78[_0x8d9454[_0x81b0('0x21')]]={'$like':'%'+_0x5f2966[_0x81b0('0x2b')][_0x81b0('0x37')]+'%'};return _0x573b78;}})});}_0x1b008d=_[_0x81b0('0x39')]({},_0x1b008d,_0x5f2966['options']);var _0x3586df={'where':_0x1b008d[_0x81b0('0x34')]};return db['SquareRecording']['count'](_0x3586df)[_0x81b0('0x1d')](function(_0x317df8){_0xfda198[_0x81b0('0x19')]=_0x317df8;if(_0x5f2966[_0x81b0('0x2b')][_0x81b0('0x3a')]){_0x1b008d[_0x81b0('0x3b')]=[{'all':!![]}];}return db[_0x81b0('0x25')]['findAll'](_0x1b008d);})[_0x81b0('0x1d')](function(_0xf43f78){_0xfda198[_0x81b0('0x3c')]=_0xf43f78;return _0xfda198;})[_0x81b0('0x1d')](respondWithFilteredResult(_0x2b189d,_0x1b008d))[_0x81b0('0x3d')](handleError(_0x2b189d,null));};exports[_0x81b0('0x3e')]=function(_0x38fb13,_0x146197){var _0x4946aa={'raw':!![],'where':{'id':_0x38fb13[_0x81b0('0x3f')]['id']}},_0x37ca78={};_0x37ca78[_0x81b0('0x2c')]=_[_0x81b0('0x2a')](db[_0x81b0('0x25')][_0x81b0('0x26')]);_0x37ca78[_0x81b0('0x2b')]=_[_0x81b0('0x2a')](_0x38fb13[_0x81b0('0x2b')]);_0x37ca78[_0x81b0('0x35')]=_[_0x81b0('0x2e')](_0x37ca78[_0x81b0('0x2c')],_0x37ca78['query']);_0x4946aa[_0x81b0('0x2d')]=_[_0x81b0('0x2e')](_0x37ca78[_0x81b0('0x2c')],qs[_0x81b0('0x2f')](_0x38fb13[_0x81b0('0x2b')]['fields']));_0x4946aa[_0x81b0('0x2d')]=_0x4946aa[_0x81b0('0x2d')][_0x81b0('0x30')]?_0x4946aa['attributes']:_0x37ca78['model'];if(_0x38fb13[_0x81b0('0x2b')][_0x81b0('0x3a')]){_0x4946aa[_0x81b0('0x3b')]=[{'all':!![]}];}_0x4946aa=_['merge']({},_0x4946aa,_0x38fb13['options']);return db[_0x81b0('0x25')][_0x81b0('0x40')](_0x4946aa)['then'](handleEntityNotFound(_0x146197,null))[_0x81b0('0x1d')](respondWithResult(_0x146197,null))[_0x81b0('0x3d')](handleError(_0x146197,null));};exports[_0x81b0('0x41')]=function(_0x5aef87,_0xd1e874){return db['SquareRecording'][_0x81b0('0x41')](_0x5aef87['body'],{})[_0x81b0('0x1d')](respondWithResult(_0xd1e874,0xc9))[_0x81b0('0x3d')](handleError(_0xd1e874,null));};exports['update']=function(_0x5d80fe,_0xb61c18){if(_0x5d80fe[_0x81b0('0x42')]['id']){delete _0x5d80fe[_0x81b0('0x42')]['id'];}return db[_0x81b0('0x25')]['find']({'where':{'id':_0x5d80fe['params']['id']}})['then'](handleEntityNotFound(_0xb61c18,null))['then'](saveUpdates(_0x5d80fe[_0x81b0('0x42')],null))[_0x81b0('0x1d')](respondWithResult(_0xb61c18,null))[_0x81b0('0x3d')](handleError(_0xb61c18,null));};exports[_0x81b0('0x43')]=function(_0x2b5886,_0x32108e,_0x4b6b91){var _0x3d8e08=require('../../components/encryptor');var _0x27faa5=![];var _0x53dd6a={};if(_0x2b5886[_0x81b0('0x2b')][_0x81b0('0x28')]&&_0x2b5886[_0x81b0('0x2b')][_0x81b0('0x28')]===_0x81b0('0x44')){_0x53dd6a[_0x81b0('0x44')]=_0x2b5886[_0x81b0('0x3f')]['id'];}else{_0x53dd6a['id']=_0x2b5886[_0x81b0('0x3f')]['id'];}return db[_0x81b0('0x25')][_0x81b0('0x40')]({'where':_0x53dd6a,'attributes':['id',_0x81b0('0x45'),'filename'],'raw':!![]})[_0x81b0('0x1d')](handleEntityNotFound(_0x32108e,null))[_0x81b0('0x1d')](function(_0x7a5df7){if(_0x7a5df7){var _0x3a5c40=_0x7a5df7[_0x81b0('0x45')];var _0xca7821=util[_0x81b0('0x46')]('%s.cypher',_0x3a5c40);if(fs[_0x81b0('0x47')](_0xca7821)){_0x27faa5=!![];return _0x3d8e08[_0x81b0('0x48')](_0xca7821,_0x3a5c40,config[_0x81b0('0x49')][_0x81b0('0x4a')])[_0x81b0('0x1d')](function(){return _0x7a5df7;});}return _0x7a5df7;}})[_0x81b0('0x1d')](function(_0xfc2c55){if(_0xfc2c55){var _0x38099c=_0xfc2c55[_0x81b0('0x45')];if(!fs[_0x81b0('0x47')](_0x38099c)){throw new db[(_0x81b0('0x4b'))][(_0x81b0('0x4c'))](_0x81b0('0x4d'));}if(_0xfc2c55[_0x81b0('0x4e')]){return _0x32108e[_0x81b0('0x43')](_0x38099c,_0xfc2c55['filename']+path[_0x81b0('0x4f')](_0x38099c),function(){if(_0x27faa5){fs['unlink'](_0x38099c);}});}else{return _0x32108e[_0x81b0('0x43')](_0x38099c,function(_0x55044e){if(_0x27faa5){fs[_0x81b0('0x50')](_0x38099c);}});}}})['catch'](function(_0x363c55){if(_0x363c55[_0x81b0('0x51')]==='SquareRecording\x20not\x20found'){_0x32108e[_0x81b0('0x15')](0x194)[_0x81b0('0x22')](_0x81b0('0x52'));}else{return handleError(_0x32108e,null);}});};exports['destroy']=function(_0x21e5cc,_0x56ebb3){return db[_0x81b0('0x25')]['find']({'where':{'id':_0x21e5cc[_0x81b0('0x3f')]['id']}})[_0x81b0('0x1d')](function(_0x34cbac){if(_[_0x81b0('0x53')](_0x34cbac)){throw new ReferenceError('Entity\x20not\x20found');}return _0x34cbac;})[_0x81b0('0x1d')](function(_0x13b469){var _0x3ed970=_0x13b469[_0x81b0('0x45')];logger[_0x81b0('0x54')]('cancellazione\x20fisica\x20documento\x20%s',_0x3ed970);if(!_['isNil'](_0x13b469[_0x81b0('0x45')])&&fs[_0x81b0('0x47')](_0x3ed970)){logger['info']('File:\x20\x22'+_0x3ed970+_0x81b0('0x55'));fs[_0x81b0('0x56')](_0x3ed970);}_0x3ed970=_0x3ed970+_0x81b0('0x57');if(!_[_0x81b0('0x53')](_0x13b469[_0x81b0('0x45')])&&fs['existsSync'](_0x3ed970)){logger[_0x81b0('0x54')](_0x81b0('0x58')+_0x3ed970+_0x81b0('0x55'));fs[_0x81b0('0x56')](_0x3ed970);}return _0x13b469;})[_0x81b0('0x1d')](function(_0x4198b2){if(!_0x4198b2)throw new InternalError();return _0x4198b2['destroy']();})[_0x81b0('0x1d')](function(){_0x56ebb3[_0x81b0('0x15')](0xcc)[_0x81b0('0x16')]();})[_0x81b0('0x3d')](handleError(_0x56ebb3,null));};