ad8c0a7e519553395b758ec64fd42fe96e77c58f
[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 _0x314d=['download','../../components/encryptor','savePath','format','%s.cypher','decryptFile','recording','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','extname','unlink','Not\x20found','Entity\x20not\x20found','info','isNil','unlinkSync','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','eml-format','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','destroy','then','error','stack','name','send','index','SquareRecording','model','map','keys','query','filters','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','options','includeAll','include','rows','catch','show','params','rawAttributes','fields','find','create','body'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x314d,0xcf));var _0xd314=function(_0x25a36c,_0x325726){_0x25a36c=_0x25a36c-0x0;var _0x13cb6f=_0x314d[_0x25a36c];return _0x13cb6f;};'use strict';var emlformat=require(_0xd314('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xd314('0x1'));var rp=require(_0xd314('0x2'));var moment=require(_0xd314('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd314('0x4'));var util=require('util');var path=require(_0xd314('0x5'));var sox=require(_0xd314('0x6'));var csv=require(_0xd314('0x7'));var ejs=require(_0xd314('0x8'));var fs=require('fs');var fs_extra=require(_0xd314('0x9'));var _=require(_0xd314('0xa'));var squel=require(_0xd314('0xb'));var crypto=require(_0xd314('0xc'));var jsforce=require(_0xd314('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xd314('0x7'));var querystring=require(_0xd314('0xe'));var Papa=require(_0xd314('0xf'));var Redis=require(_0xd314('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd314('0x11'));var logger=require('../../config/logger')(_0xd314('0x12'));var utils=require(_0xd314('0x13'));var config=require(_0xd314('0x14'));var licenseUtil=require(_0xd314('0x15'));var db=require(_0xd314('0x16'))['db'];function respondWithStatusCode(_0x2838f,_0x4e2c9c){_0x4e2c9c=_0x4e2c9c||0xcc;return function(_0x1a1bae){if(_0x1a1bae){return _0x2838f[_0xd314('0x17')](_0x4e2c9c);}return _0x2838f[_0xd314('0x18')](_0x4e2c9c)[_0xd314('0x19')]();};}function respondWithResult(_0x5ac0c9,_0x113477){_0x113477=_0x113477||0xc8;return function(_0x5ab71a){if(_0x5ab71a){return _0x5ac0c9[_0xd314('0x18')](_0x113477)[_0xd314('0x1a')](_0x5ab71a);}};}function respondWithFilteredResult(_0x5c1a2b,_0x122462){return function(_0x2726c0){if(_0x2726c0){var _0x45579c=typeof _0x122462[_0xd314('0x1b')]===_0xd314('0x1c')&&typeof _0x122462[_0xd314('0x1d')]==='undefined';var _0x52c636=_0x2726c0[_0xd314('0x1e')];var _0x2e57d6=_0x45579c?0x0:_0x122462[_0xd314('0x1b')];var _0x222393=_0x45579c?_0x2726c0[_0xd314('0x1e')]:_0x122462['offset']+_0x122462[_0xd314('0x1d')];var _0x13ba57;if(_0x222393>=_0x52c636){_0x222393=_0x52c636;_0x13ba57=0xc8;}else{_0x13ba57=0xce;}_0x5c1a2b[_0xd314('0x18')](_0x13ba57);return _0x5c1a2b[_0xd314('0x1f')](_0xd314('0x20'),_0x2e57d6+'-'+_0x222393+'/'+_0x52c636)[_0xd314('0x1a')](_0x2726c0);}return null;};}function patchUpdates(_0x5acb4b){return function(_0x161683){try{jsonpatch[_0xd314('0x21')](_0x161683,_0x5acb4b,!![]);}catch(_0x92d613){return BPromise[_0xd314('0x22')](_0x92d613);}return _0x161683['save']();};}function saveUpdates(_0x2a6809,_0x103d45){return function(_0x4dbc4f){if(_0x4dbc4f){return _0x4dbc4f['update'](_0x2a6809)['then'](function(_0x14edec){return _0x14edec;});}return null;};}function removeEntity(_0x58630c,_0xed3071){return function(_0x294691){if(_0x294691){return _0x294691[_0xd314('0x23')]()[_0xd314('0x24')](function(){_0x58630c[_0xd314('0x18')](0xcc)[_0xd314('0x19')]();});}};}function handleEntityNotFound(_0x1b36ca,_0x2cd717){return function(_0x45ebd4){if(!_0x45ebd4){_0x1b36ca['sendStatus'](0x194);}return _0x45ebd4;};}function handleError(_0x3e7542,_0x12bed7){_0x12bed7=_0x12bed7||0x1f4;return function(_0x46e0ed){logger[_0xd314('0x25')](_0x46e0ed[_0xd314('0x26')]);if(_0x46e0ed[_0xd314('0x27')]){delete _0x46e0ed[_0xd314('0x27')];}_0x3e7542[_0xd314('0x18')](_0x12bed7)[_0xd314('0x28')](_0x46e0ed);};}exports[_0xd314('0x29')]=function(_0x385c0a,_0x1dd77a){var _0x1bad35={},_0x3f9754={},_0x447709={'count':0x0,'rows':[]};var _0xc05ab2=_['map'](db[_0xd314('0x2a')]['rawAttributes'],function(_0xfcd36e){return{'name':_0xfcd36e['fieldName'],'type':_0xfcd36e['type']['key']};});_0x3f9754[_0xd314('0x2b')]=_[_0xd314('0x2c')](_0xc05ab2,_0xd314('0x27'));_0x3f9754['query']=_[_0xd314('0x2d')](_0x385c0a[_0xd314('0x2e')]);_0x3f9754[_0xd314('0x2f')]=_['intersection'](_0x3f9754[_0xd314('0x2b')],_0x3f9754[_0xd314('0x2e')]);_0x1bad35[_0xd314('0x30')]=_[_0xd314('0x31')](_0x3f9754[_0xd314('0x2b')],qs['fields'](_0x385c0a['query']['fields']));_0x1bad35[_0xd314('0x30')]=_0x1bad35[_0xd314('0x30')][_0xd314('0x32')]?_0x1bad35[_0xd314('0x30')]:_0x3f9754[_0xd314('0x2b')];if(!_0x385c0a[_0xd314('0x2e')][_0xd314('0x33')](_0xd314('0x34'))){_0x1bad35[_0xd314('0x1d')]=qs[_0xd314('0x1d')](_0x385c0a[_0xd314('0x2e')][_0xd314('0x1d')]);_0x1bad35[_0xd314('0x1b')]=qs[_0xd314('0x1b')](_0x385c0a['query'][_0xd314('0x1b')]);}_0x1bad35[_0xd314('0x35')]=qs[_0xd314('0x36')](_0x385c0a['query'][_0xd314('0x36')]);_0x1bad35['where']=qs[_0xd314('0x2f')](_[_0xd314('0x37')](_0x385c0a[_0xd314('0x2e')],_0x3f9754[_0xd314('0x2f')]),_0xc05ab2);if(_0x385c0a[_0xd314('0x2e')][_0xd314('0x38')]){_0x1bad35[_0xd314('0x39')]=_[_0xd314('0x3a')](_0x1bad35[_0xd314('0x39')],{'$or':_[_0xd314('0x2c')](_0xc05ab2,function(_0x4bfd31){if(_0x4bfd31[_0xd314('0x3b')]!=='VIRTUAL'){var _0x322c9f={};_0x322c9f[_0x4bfd31[_0xd314('0x27')]]={'$like':'%'+_0x385c0a[_0xd314('0x2e')][_0xd314('0x38')]+'%'};return _0x322c9f;}})});}_0x1bad35=_[_0xd314('0x3a')]({},_0x1bad35,_0x385c0a[_0xd314('0x3c')]);var _0x5a267c={'where':_0x1bad35['where']};return db[_0xd314('0x2a')][_0xd314('0x1e')](_0x5a267c)[_0xd314('0x24')](function(_0x4b965b){_0x447709['count']=_0x4b965b;if(_0x385c0a[_0xd314('0x2e')][_0xd314('0x3d')]){_0x1bad35[_0xd314('0x3e')]=[{'all':!![]}];}return db[_0xd314('0x2a')]['findAll'](_0x1bad35);})['then'](function(_0x4d3f92){_0x447709[_0xd314('0x3f')]=_0x4d3f92;return _0x447709;})[_0xd314('0x24')](respondWithFilteredResult(_0x1dd77a,_0x1bad35))[_0xd314('0x40')](handleError(_0x1dd77a,null));};exports[_0xd314('0x41')]=function(_0x3ad64b,_0x52387f){var _0x5b86cc={'raw':!![],'where':{'id':_0x3ad64b[_0xd314('0x42')]['id']}},_0x5dc8d8={};_0x5dc8d8['model']=_[_0xd314('0x2d')](db[_0xd314('0x2a')][_0xd314('0x43')]);_0x5dc8d8[_0xd314('0x2e')]=_[_0xd314('0x2d')](_0x3ad64b[_0xd314('0x2e')]);_0x5dc8d8[_0xd314('0x2f')]=_[_0xd314('0x31')](_0x5dc8d8[_0xd314('0x2b')],_0x5dc8d8[_0xd314('0x2e')]);_0x5b86cc['attributes']=_[_0xd314('0x31')](_0x5dc8d8[_0xd314('0x2b')],qs[_0xd314('0x44')](_0x3ad64b[_0xd314('0x2e')][_0xd314('0x44')]));_0x5b86cc[_0xd314('0x30')]=_0x5b86cc[_0xd314('0x30')]['length']?_0x5b86cc['attributes']:_0x5dc8d8[_0xd314('0x2b')];if(_0x3ad64b['query'][_0xd314('0x3d')]){_0x5b86cc['include']=[{'all':!![]}];}_0x5b86cc=_['merge']({},_0x5b86cc,_0x3ad64b['options']);return db[_0xd314('0x2a')][_0xd314('0x45')](_0x5b86cc)['then'](handleEntityNotFound(_0x52387f,null))['then'](respondWithResult(_0x52387f,null))['catch'](handleError(_0x52387f,null));};exports[_0xd314('0x46')]=function(_0x4954f6,_0x1853e8){return db['SquareRecording'][_0xd314('0x46')](_0x4954f6['body'],{})[_0xd314('0x24')](respondWithResult(_0x1853e8,0xc9))[_0xd314('0x40')](handleError(_0x1853e8,null));};exports['update']=function(_0x5047c4,_0xb5cd5c){if(_0x5047c4[_0xd314('0x47')]['id']){delete _0x5047c4[_0xd314('0x47')]['id'];}return db[_0xd314('0x2a')]['find']({'where':{'id':_0x5047c4[_0xd314('0x42')]['id']}})[_0xd314('0x24')](handleEntityNotFound(_0xb5cd5c,null))[_0xd314('0x24')](saveUpdates(_0x5047c4[_0xd314('0x47')],null))['then'](respondWithResult(_0xb5cd5c,null))[_0xd314('0x40')](handleError(_0xb5cd5c,null));};exports[_0xd314('0x48')]=function(_0x29ddaf,_0x51fa39,_0x5872a8){var _0x2a7626=require(_0xd314('0x49'));var _0x19c394=![];var _0x2a071e={};if(_0x29ddaf[_0xd314('0x2e')][_0xd314('0x3b')]&&_0x29ddaf['query'][_0xd314('0x3b')]==='uniqueid'){_0x2a071e['uniqueid']=_0x29ddaf[_0xd314('0x42')]['id'];}else{_0x2a071e['id']=_0x29ddaf[_0xd314('0x42')]['id'];}return db['SquareRecording'][_0xd314('0x45')]({'where':_0x2a071e,'attributes':['id',_0xd314('0x4a'),'filename'],'raw':!![]})[_0xd314('0x24')](handleEntityNotFound(_0x51fa39,null))['then'](function(_0x11a6cd){if(_0x11a6cd){var _0x5b4676=_0x11a6cd[_0xd314('0x4a')];var _0x3e8897=util[_0xd314('0x4b')](_0xd314('0x4c'),_0x5b4676);if(fs['existsSync'](_0x3e8897)){_0x19c394=!![];return _0x2a7626[_0xd314('0x4d')](_0x3e8897,_0x5b4676,config['secrets'][_0xd314('0x4e')])['then'](function(){return _0x11a6cd;});}return _0x11a6cd;}})[_0xd314('0x24')](function(_0x5e6605){if(_0x5e6605){var _0x60070a=_0x5e6605[_0xd314('0x4a')];if(!fs[_0xd314('0x4f')](_0x60070a)){throw new db[(_0xd314('0x50'))][(_0xd314('0x51'))](_0xd314('0x52'));}if(_0x5e6605[_0xd314('0x53')]){return _0x51fa39[_0xd314('0x48')](_0x60070a,_0x5e6605[_0xd314('0x53')]+path[_0xd314('0x54')](_0x60070a),function(){if(_0x19c394){fs[_0xd314('0x55')](_0x60070a);}});}else{return _0x51fa39[_0xd314('0x48')](_0x60070a,function(_0x5acd14){if(_0x19c394){fs[_0xd314('0x55')](_0x60070a);}});}}})[_0xd314('0x40')](function(_0x44d569){if(_0x44d569['message']==='SquareRecording\x20not\x20found'){_0x51fa39[_0xd314('0x18')](0x194)[_0xd314('0x28')](_0xd314('0x56'));}else{return handleError(_0x51fa39,null);}});};exports[_0xd314('0x23')]=function(_0x2cb220,_0x88b9b5){return db['SquareRecording']['find']({'where':{'id':_0x2cb220[_0xd314('0x42')]['id']}})[_0xd314('0x24')](function(_0x5eafef){if(_['isNil'](_0x5eafef)){throw new ReferenceError(_0xd314('0x57'));}return _0x5eafef;})[_0xd314('0x24')](function(_0x27cd93){var _0x336de2=_0x27cd93[_0xd314('0x4a')];logger[_0xd314('0x58')]('cancellazione\x20fisica\x20documento\x20%s',_0x336de2);if(!_[_0xd314('0x59')](_0x27cd93[_0xd314('0x4a')])&&fs[_0xd314('0x4f')](_0x336de2)){logger[_0xd314('0x58')]('File:\x20\x22'+_0x336de2+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xd314('0x5a')](_0x336de2);}_0x336de2=_0x336de2+'.cypher';if(!_[_0xd314('0x59')](_0x27cd93[_0xd314('0x4a')])&&fs[_0xd314('0x4f')](_0x336de2)){logger[_0xd314('0x58')](_0xd314('0x5b')+_0x336de2+_0xd314('0x5c'));fs['unlinkSync'](_0x336de2);}return _0x27cd93;})[_0xd314('0x24')](function(_0x2ac354){if(!_0x2ac354)throw new InternalError();return _0x2ac354[_0xd314('0x23')]();})[_0xd314('0x24')](function(){_0x88b9b5[_0xd314('0x18')](0xcc)[_0xd314('0x19')]();})[_0xd314('0x40')](handleError(_0x88b9b5,null));};