b3c36dfb73723356297da8ed414a7767a53dbb31
[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 _0xb0a7=['download','uniqueid','savePath','filename','format','%s.cypher','decryptFile','secrets','recording','existsSync','Sequelize','ValidationError','extname','unlink','SquareRecording\x20not\x20found','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','unlinkSync','.cypher','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','eml-format','zip-dir','fast-json-patch','moment','to-csv','ejs','fs-extra','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','offset','limit','count','set','Content-Range','reject','update','destroy','then','sendStatus','error','name','send','map','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','SquareRecording','findAll','rows','params','keys','length','includeAll','include','find','create','body','catch'];(function(_0x2ffb19,_0x4599a7){var _0x2100d5=function(_0x48f36f){while(--_0x48f36f){_0x2ffb19['push'](_0x2ffb19['shift']());}};_0x2100d5(++_0x4599a7);}(_0xb0a7,0x73));var _0x7b0a=function(_0x1c4fee,_0x4a81e1){_0x1c4fee=_0x1c4fee-0x0;var _0x4fdb8c=_0xb0a7[_0x1c4fee];return _0x4fdb8c;};'use strict';var emlformat=require(_0x7b0a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7b0a('0x1'));var jsonpatch=require(_0x7b0a('0x2'));var rp=require('request-promise');var moment=require(_0x7b0a('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x7b0a('0x4'));var ejs=require(_0x7b0a('0x5'));var fs=require('fs');var fs_extra=require(_0x7b0a('0x6'));var _=require('lodash');var squel=require(_0x7b0a('0x7'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x7b0a('0x8'));var toCsv=require(_0x7b0a('0x4'));var querystring=require(_0x7b0a('0x9'));var Papa=require(_0x7b0a('0xa'));var Redis=require(_0x7b0a('0xb'));var authService=require(_0x7b0a('0xc'));var qs=require(_0x7b0a('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7b0a('0xe'));var logger=require(_0x7b0a('0xf'))(_0x7b0a('0x10'));var utils=require(_0x7b0a('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0x7b0a('0x12'));var db=require(_0x7b0a('0x13'))['db'];function respondWithStatusCode(_0x27af54,_0x25c6c3){_0x25c6c3=_0x25c6c3||0xcc;return function(_0x86d0ad){if(_0x86d0ad){return _0x27af54['sendStatus'](_0x25c6c3);}return _0x27af54[_0x7b0a('0x14')](_0x25c6c3)[_0x7b0a('0x15')]();};}function respondWithResult(_0x1ccf19,_0x18864c){_0x18864c=_0x18864c||0xc8;return function(_0x4615a4){if(_0x4615a4){return _0x1ccf19[_0x7b0a('0x14')](_0x18864c)['json'](_0x4615a4);}};}function respondWithFilteredResult(_0x59d756,_0x592a0b){return function(_0x4e8c15){if(_0x4e8c15){var _0x5d5436=typeof _0x592a0b[_0x7b0a('0x16')]==='undefined'&&typeof _0x592a0b[_0x7b0a('0x17')]==='undefined';var _0x2cfa3f=_0x4e8c15[_0x7b0a('0x18')];var _0x294fb1=_0x5d5436?0x0:_0x592a0b[_0x7b0a('0x16')];var _0x1cc6d0=_0x5d5436?_0x4e8c15['count']:_0x592a0b[_0x7b0a('0x16')]+_0x592a0b[_0x7b0a('0x17')];var _0x46fc28;if(_0x1cc6d0>=_0x2cfa3f){_0x1cc6d0=_0x2cfa3f;_0x46fc28=0xc8;}else{_0x46fc28=0xce;}_0x59d756[_0x7b0a('0x14')](_0x46fc28);return _0x59d756[_0x7b0a('0x19')](_0x7b0a('0x1a'),_0x294fb1+'-'+_0x1cc6d0+'/'+_0x2cfa3f)['json'](_0x4e8c15);}return null;};}function patchUpdates(_0x4be08e){return function(_0x469acb){try{jsonpatch['apply'](_0x469acb,_0x4be08e,!![]);}catch(_0x1b1090){return BPromise[_0x7b0a('0x1b')](_0x1b1090);}return _0x469acb['save']();};}function saveUpdates(_0xefbfa8,_0x1d15c9){return function(_0x11841d){if(_0x11841d){return _0x11841d[_0x7b0a('0x1c')](_0xefbfa8)['then'](function(_0x237b66){return _0x237b66;});}return null;};}function removeEntity(_0x5243f5,_0xbf1ffa){return function(_0x23f951){if(_0x23f951){return _0x23f951[_0x7b0a('0x1d')]()[_0x7b0a('0x1e')](function(){_0x5243f5[_0x7b0a('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x47d35a,_0x706429){return function(_0x43b9e5){if(!_0x43b9e5){_0x47d35a[_0x7b0a('0x1f')](0x194);}return _0x43b9e5;};}function handleError(_0x5a667b,_0x2290fb){_0x2290fb=_0x2290fb||0x1f4;return function(_0x3daf16){logger[_0x7b0a('0x20')](_0x3daf16['stack']);if(_0x3daf16[_0x7b0a('0x21')]){delete _0x3daf16[_0x7b0a('0x21')];}_0x5a667b['status'](_0x2290fb)[_0x7b0a('0x22')](_0x3daf16);};}exports['index']=function(_0x1ffea3,_0x373b70){var _0x4eaee3={},_0x4da44f={},_0x1ef514={'count':0x0,'rows':[]};var _0x5eef35=_[_0x7b0a('0x23')](db['SquareRecording'][_0x7b0a('0x24')],function(_0x579801){return{'name':_0x579801[_0x7b0a('0x25')],'type':_0x579801[_0x7b0a('0x26')][_0x7b0a('0x27')]};});_0x4da44f[_0x7b0a('0x28')]=_[_0x7b0a('0x23')](_0x5eef35,_0x7b0a('0x21'));_0x4da44f[_0x7b0a('0x29')]=_['keys'](_0x1ffea3[_0x7b0a('0x29')]);_0x4da44f[_0x7b0a('0x2a')]=_['intersection'](_0x4da44f[_0x7b0a('0x28')],_0x4da44f[_0x7b0a('0x29')]);_0x4eaee3[_0x7b0a('0x2b')]=_[_0x7b0a('0x2c')](_0x4da44f[_0x7b0a('0x28')],qs[_0x7b0a('0x2d')](_0x1ffea3[_0x7b0a('0x29')][_0x7b0a('0x2d')]));_0x4eaee3[_0x7b0a('0x2b')]=_0x4eaee3[_0x7b0a('0x2b')]['length']?_0x4eaee3['attributes']:_0x4da44f[_0x7b0a('0x28')];if(!_0x1ffea3['query'][_0x7b0a('0x2e')](_0x7b0a('0x2f'))){_0x4eaee3['limit']=qs[_0x7b0a('0x17')](_0x1ffea3[_0x7b0a('0x29')][_0x7b0a('0x17')]);_0x4eaee3[_0x7b0a('0x16')]=qs[_0x7b0a('0x16')](_0x1ffea3['query']['offset']);}_0x4eaee3[_0x7b0a('0x30')]=qs[_0x7b0a('0x31')](_0x1ffea3['query'][_0x7b0a('0x31')]);_0x4eaee3['where']=qs[_0x7b0a('0x2a')](_[_0x7b0a('0x32')](_0x1ffea3[_0x7b0a('0x29')],_0x4da44f[_0x7b0a('0x2a')]),_0x5eef35);if(_0x1ffea3[_0x7b0a('0x29')][_0x7b0a('0x33')]){_0x4eaee3[_0x7b0a('0x34')]=_['merge'](_0x4eaee3[_0x7b0a('0x34')],{'$or':_[_0x7b0a('0x23')](_0x5eef35,function(_0x55a4fc){if(_0x55a4fc['type']!=='VIRTUAL'){var _0x5ec4ef={};_0x5ec4ef[_0x55a4fc[_0x7b0a('0x21')]]={'$like':'%'+_0x1ffea3['query'][_0x7b0a('0x33')]+'%'};return _0x5ec4ef;}})});}_0x4eaee3=_[_0x7b0a('0x35')]({},_0x4eaee3,_0x1ffea3[_0x7b0a('0x36')]);var _0x68fb78={'where':_0x4eaee3[_0x7b0a('0x34')]};return db['SquareRecording']['count'](_0x68fb78)[_0x7b0a('0x1e')](function(_0x21de8c){_0x1ef514[_0x7b0a('0x18')]=_0x21de8c;if(_0x1ffea3[_0x7b0a('0x29')]['includeAll']){_0x4eaee3['include']=[{'all':!![]}];}return db[_0x7b0a('0x37')][_0x7b0a('0x38')](_0x4eaee3);})[_0x7b0a('0x1e')](function(_0x568144){_0x1ef514[_0x7b0a('0x39')]=_0x568144;return _0x1ef514;})[_0x7b0a('0x1e')](respondWithFilteredResult(_0x373b70,_0x4eaee3))['catch'](handleError(_0x373b70,null));};exports['show']=function(_0x31f7e6,_0x1eb7ad){var _0x5bbe0b={'raw':!![],'where':{'id':_0x31f7e6[_0x7b0a('0x3a')]['id']}},_0x463dac={};_0x463dac[_0x7b0a('0x28')]=_[_0x7b0a('0x3b')](db[_0x7b0a('0x37')]['rawAttributes']);_0x463dac['query']=_[_0x7b0a('0x3b')](_0x31f7e6['query']);_0x463dac['filters']=_['intersection'](_0x463dac[_0x7b0a('0x28')],_0x463dac[_0x7b0a('0x29')]);_0x5bbe0b[_0x7b0a('0x2b')]=_[_0x7b0a('0x2c')](_0x463dac[_0x7b0a('0x28')],qs[_0x7b0a('0x2d')](_0x31f7e6['query']['fields']));_0x5bbe0b[_0x7b0a('0x2b')]=_0x5bbe0b[_0x7b0a('0x2b')][_0x7b0a('0x3c')]?_0x5bbe0b['attributes']:_0x463dac[_0x7b0a('0x28')];if(_0x31f7e6[_0x7b0a('0x29')][_0x7b0a('0x3d')]){_0x5bbe0b[_0x7b0a('0x3e')]=[{'all':!![]}];}_0x5bbe0b=_['merge']({},_0x5bbe0b,_0x31f7e6[_0x7b0a('0x36')]);return db[_0x7b0a('0x37')][_0x7b0a('0x3f')](_0x5bbe0b)[_0x7b0a('0x1e')](handleEntityNotFound(_0x1eb7ad,null))[_0x7b0a('0x1e')](respondWithResult(_0x1eb7ad,null))['catch'](handleError(_0x1eb7ad,null));};exports[_0x7b0a('0x40')]=function(_0xd937c6,_0x255019){return db[_0x7b0a('0x37')][_0x7b0a('0x40')](_0xd937c6[_0x7b0a('0x41')],{})[_0x7b0a('0x1e')](respondWithResult(_0x255019,0xc9))[_0x7b0a('0x42')](handleError(_0x255019,null));};exports['update']=function(_0x2dcb92,_0x1b779a){if(_0x2dcb92[_0x7b0a('0x41')]['id']){delete _0x2dcb92[_0x7b0a('0x41')]['id'];}return db[_0x7b0a('0x37')][_0x7b0a('0x3f')]({'where':{'id':_0x2dcb92['params']['id']}})[_0x7b0a('0x1e')](handleEntityNotFound(_0x1b779a,null))['then'](saveUpdates(_0x2dcb92[_0x7b0a('0x41')],null))[_0x7b0a('0x1e')](respondWithResult(_0x1b779a,null))['catch'](handleError(_0x1b779a,null));};exports[_0x7b0a('0x43')]=function(_0x1a143d,_0x2b80bc,_0x5e48ba){var _0x2b3408=require('../../components/encryptor');var _0x5bf70c=![];var _0x591443={};if(_0x1a143d[_0x7b0a('0x29')][_0x7b0a('0x26')]&&_0x1a143d[_0x7b0a('0x29')][_0x7b0a('0x26')]==='uniqueid'){_0x591443[_0x7b0a('0x44')]=_0x1a143d[_0x7b0a('0x3a')]['id'];}else{_0x591443['id']=_0x1a143d['params']['id'];}return db['SquareRecording']['find']({'where':_0x591443,'attributes':['id',_0x7b0a('0x45'),_0x7b0a('0x46')],'raw':!![]})[_0x7b0a('0x1e')](handleEntityNotFound(_0x2b80bc,null))[_0x7b0a('0x1e')](function(_0x440f08){if(_0x440f08){var _0x3c2fc9=_0x440f08['savePath'];var _0x465768=util[_0x7b0a('0x47')](_0x7b0a('0x48'),_0x3c2fc9);if(fs['existsSync'](_0x465768)){_0x5bf70c=!![];return _0x2b3408[_0x7b0a('0x49')](_0x465768,_0x3c2fc9,config[_0x7b0a('0x4a')][_0x7b0a('0x4b')])[_0x7b0a('0x1e')](function(){return _0x440f08;});}return _0x440f08;}})[_0x7b0a('0x1e')](function(_0x5de790){if(_0x5de790){var _0x271894=_0x5de790[_0x7b0a('0x45')];if(!fs[_0x7b0a('0x4c')](_0x271894)){throw new db[(_0x7b0a('0x4d'))][(_0x7b0a('0x4e'))]('SquareRecording\x20not\x20found');}if(_0x5de790[_0x7b0a('0x46')]){return _0x2b80bc[_0x7b0a('0x43')](_0x271894,_0x5de790[_0x7b0a('0x46')]+path[_0x7b0a('0x4f')](_0x271894),function(){if(_0x5bf70c){fs[_0x7b0a('0x50')](_0x271894);}});}else{return _0x2b80bc[_0x7b0a('0x43')](_0x271894,function(_0x4bd29d){if(_0x5bf70c){fs[_0x7b0a('0x50')](_0x271894);}});}}})[_0x7b0a('0x42')](function(_0xafa890){if(_0xafa890['message']===_0x7b0a('0x51')){_0x2b80bc[_0x7b0a('0x14')](0x194)[_0x7b0a('0x22')](_0x7b0a('0x52'));}else{return handleError(_0x2b80bc,null);}});};exports['destroy']=function(_0x401a99,_0x58319d){return db['SquareRecording']['find']({'where':{'id':_0x401a99['params']['id']}})[_0x7b0a('0x1e')](function(_0x1b797d){if(_['isNil'](_0x1b797d)){throw new ReferenceError(_0x7b0a('0x53'));}return _0x1b797d;})[_0x7b0a('0x1e')](function(_0x30c6d2){var _0x182867=_0x30c6d2[_0x7b0a('0x45')];logger[_0x7b0a('0x54')](_0x7b0a('0x55'),_0x182867);if(!_['isNil'](_0x30c6d2['savePath'])&&fs[_0x7b0a('0x4c')](_0x182867)){logger[_0x7b0a('0x54')]('File:\x20\x22'+_0x182867+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x7b0a('0x56')](_0x182867);}_0x182867=_0x182867+_0x7b0a('0x57');if(!_[_0x7b0a('0x58')](_0x30c6d2[_0x7b0a('0x45')])&&fs['existsSync'](_0x182867)){logger['info'](_0x7b0a('0x59')+_0x182867+_0x7b0a('0x5a'));fs[_0x7b0a('0x56')](_0x182867);}return _0x30c6d2;})[_0x7b0a('0x1e')](function(_0x257a9e){if(!_0x257a9e)throw new InternalError();return _0x257a9e[_0x7b0a('0x1d')]();})[_0x7b0a('0x1e')](function(){_0x58319d[_0x7b0a('0x14')](0xcc)[_0x7b0a('0x15')]();})[_0x7b0a('0x42')](handleError(_0x58319d,null));};