Built motion from commit 3d6333b4.|2.6.31
[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 _0x3da2=['order','sort','where','pick','filter','type','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','uniqueid','savePath','filename','%s.cypher','existsSync','decryptFile','recording','Sequelize','ValidationError','download','extname','unlink','message','Not\x20found','Entity\x20not\x20found','info','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','Content-Range','json','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','nolimit'];(function(_0x1b2ff7,_0x12a034){var _0x31656a=function(_0x1165a5){while(--_0x1165a5){_0x1b2ff7['push'](_0x1b2ff7['shift']());}};_0x31656a(++_0x12a034);}(_0x3da2,0xe8));var _0x23da=function(_0x55d82d,_0x44a8aa){_0x55d82d=_0x55d82d-0x0;var _0x26e64a=_0x3da2[_0x55d82d];return _0x26e64a;};'use strict';var emlformat=require(_0x23da('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x23da('0x1'));var moment=require(_0x23da('0x2'));var BPromise=require(_0x23da('0x3'));var Mustache=require(_0x23da('0x4'));var util=require(_0x23da('0x5'));var path=require(_0x23da('0x6'));var sox=require('sox');var csv=require(_0x23da('0x7'));var ejs=require(_0x23da('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x23da('0x9'));var squel=require('squel');var crypto=require(_0x23da('0xa'));var jsforce=require(_0x23da('0xb'));var deskjs=require(_0x23da('0xc'));var toCsv=require(_0x23da('0x7'));var querystring=require(_0x23da('0xd'));var Papa=require(_0x23da('0xe'));var Redis=require(_0x23da('0xf'));var authService=require(_0x23da('0x10'));var qs=require(_0x23da('0x11'));var as=require(_0x23da('0x12'));var hardwareService=require(_0x23da('0x13'));var logger=require(_0x23da('0x14'))(_0x23da('0x15'));var utils=require(_0x23da('0x16'));var config=require(_0x23da('0x17'));var licenseUtil=require(_0x23da('0x18'));var db=require(_0x23da('0x19'))['db'];function respondWithStatusCode(_0x15eaaa,_0x297b6a){_0x297b6a=_0x297b6a||0xcc;return function(_0x1acfaa){if(_0x1acfaa){return _0x15eaaa[_0x23da('0x1a')](_0x297b6a);}return _0x15eaaa[_0x23da('0x1b')](_0x297b6a)['end']();};}function respondWithResult(_0x47d9c5,_0x2f342a){_0x2f342a=_0x2f342a||0xc8;return function(_0x4a7190){if(_0x4a7190){return _0x47d9c5['status'](_0x2f342a)['json'](_0x4a7190);}};}function respondWithFilteredResult(_0x1e5ac8,_0x2b99b1){return function(_0x415256){if(_0x415256){var _0x45deee=typeof _0x2b99b1[_0x23da('0x1c')]===_0x23da('0x1d')&&typeof _0x2b99b1[_0x23da('0x1e')]===_0x23da('0x1d');var _0x104ad1=_0x415256[_0x23da('0x1f')];var _0x222f12=_0x45deee?0x0:_0x2b99b1[_0x23da('0x1c')];var _0x4f95d0=_0x45deee?_0x415256[_0x23da('0x1f')]:_0x2b99b1[_0x23da('0x1c')]+_0x2b99b1[_0x23da('0x1e')];var _0x123bf9;if(_0x4f95d0>=_0x104ad1){_0x4f95d0=_0x104ad1;_0x123bf9=0xc8;}else{_0x123bf9=0xce;}_0x1e5ac8[_0x23da('0x1b')](_0x123bf9);return _0x1e5ac8['set'](_0x23da('0x20'),_0x222f12+'-'+_0x4f95d0+'/'+_0x104ad1)[_0x23da('0x21')](_0x415256);}return null;};}function patchUpdates(_0x1d9d69){return function(_0x1c73af){try{jsonpatch[_0x23da('0x22')](_0x1c73af,_0x1d9d69,!![]);}catch(_0x10e521){return BPromise[_0x23da('0x23')](_0x10e521);}return _0x1c73af[_0x23da('0x24')]();};}function saveUpdates(_0x30656f,_0x5be691){return function(_0x252133){if(_0x252133){return _0x252133[_0x23da('0x25')](_0x30656f)[_0x23da('0x26')](function(_0x155455){return _0x155455;});}return null;};}function removeEntity(_0x1af7a6,_0x3321d9){return function(_0x5dde11){if(_0x5dde11){return _0x5dde11[_0x23da('0x27')]()[_0x23da('0x26')](function(){_0x1af7a6['status'](0xcc)[_0x23da('0x28')]();});}};}function handleEntityNotFound(_0x2fd736,_0x124428){return function(_0x4a3c30){if(!_0x4a3c30){_0x2fd736['sendStatus'](0x194);}return _0x4a3c30;};}function handleError(_0x243183,_0x18fd19){_0x18fd19=_0x18fd19||0x1f4;return function(_0x42d03b){logger[_0x23da('0x29')](_0x42d03b[_0x23da('0x2a')]);if(_0x42d03b['name']){delete _0x42d03b[_0x23da('0x2b')];}_0x243183[_0x23da('0x1b')](_0x18fd19)[_0x23da('0x2c')](_0x42d03b);};}exports[_0x23da('0x2d')]=function(_0x276b3c,_0x44306){var _0x49e250={},_0x1db028={},_0x4d2ca4={'count':0x0,'rows':[]};var _0xb1d998=_[_0x23da('0x2e')](db[_0x23da('0x2f')][_0x23da('0x30')],function(_0x4d4585){return{'name':_0x4d4585[_0x23da('0x31')],'type':_0x4d4585['type']['key']};});_0x1db028[_0x23da('0x32')]=_[_0x23da('0x2e')](_0xb1d998,_0x23da('0x2b'));_0x1db028[_0x23da('0x33')]=_[_0x23da('0x34')](_0x276b3c[_0x23da('0x33')]);_0x1db028[_0x23da('0x35')]=_[_0x23da('0x36')](_0x1db028['model'],_0x1db028[_0x23da('0x33')]);_0x49e250[_0x23da('0x37')]=_[_0x23da('0x36')](_0x1db028[_0x23da('0x32')],qs[_0x23da('0x38')](_0x276b3c[_0x23da('0x33')]['fields']));_0x49e250[_0x23da('0x37')]=_0x49e250[_0x23da('0x37')][_0x23da('0x39')]?_0x49e250[_0x23da('0x37')]:_0x1db028['model'];if(!_0x276b3c[_0x23da('0x33')]['hasOwnProperty'](_0x23da('0x3a'))){_0x49e250[_0x23da('0x1e')]=qs[_0x23da('0x1e')](_0x276b3c[_0x23da('0x33')][_0x23da('0x1e')]);_0x49e250[_0x23da('0x1c')]=qs[_0x23da('0x1c')](_0x276b3c[_0x23da('0x33')]['offset']);}_0x49e250[_0x23da('0x3b')]=qs[_0x23da('0x3c')](_0x276b3c[_0x23da('0x33')]['sort']);_0x49e250[_0x23da('0x3d')]=qs[_0x23da('0x35')](_[_0x23da('0x3e')](_0x276b3c['query'],_0x1db028['filters']),_0xb1d998);if(_0x276b3c[_0x23da('0x33')][_0x23da('0x3f')]){_0x49e250[_0x23da('0x3d')]=_['merge'](_0x49e250[_0x23da('0x3d')],{'$or':_['map'](_0xb1d998,function(_0x113ce6){if(_0x113ce6[_0x23da('0x40')]!=='VIRTUAL'){var _0x1f0752={};_0x1f0752[_0x113ce6[_0x23da('0x2b')]]={'$like':'%'+_0x276b3c[_0x23da('0x33')]['filter']+'%'};return _0x1f0752;}})});}_0x49e250=_[_0x23da('0x41')]({},_0x49e250,_0x276b3c[_0x23da('0x42')]);var _0x1eac9d={'where':_0x49e250[_0x23da('0x3d')]};return db['SquareRecording'][_0x23da('0x1f')](_0x1eac9d)['then'](function(_0xceb6e3){_0x4d2ca4[_0x23da('0x1f')]=_0xceb6e3;if(_0x276b3c[_0x23da('0x33')][_0x23da('0x43')]){_0x49e250[_0x23da('0x44')]=[{'all':!![]}];}return db[_0x23da('0x2f')][_0x23da('0x45')](_0x49e250);})[_0x23da('0x26')](function(_0x16e0ba){_0x4d2ca4[_0x23da('0x46')]=_0x16e0ba;return _0x4d2ca4;})[_0x23da('0x26')](respondWithFilteredResult(_0x44306,_0x49e250))[_0x23da('0x47')](handleError(_0x44306,null));};exports[_0x23da('0x48')]=function(_0x7fb655,_0x3e46b4){var _0x3395fd={'raw':!![],'where':{'id':_0x7fb655[_0x23da('0x49')]['id']}},_0x53e2bb={};_0x53e2bb[_0x23da('0x32')]=_[_0x23da('0x34')](db[_0x23da('0x2f')][_0x23da('0x30')]);_0x53e2bb[_0x23da('0x33')]=_['keys'](_0x7fb655[_0x23da('0x33')]);_0x53e2bb[_0x23da('0x35')]=_[_0x23da('0x36')](_0x53e2bb[_0x23da('0x32')],_0x53e2bb[_0x23da('0x33')]);_0x3395fd['attributes']=_['intersection'](_0x53e2bb[_0x23da('0x32')],qs['fields'](_0x7fb655[_0x23da('0x33')][_0x23da('0x38')]));_0x3395fd[_0x23da('0x37')]=_0x3395fd['attributes'][_0x23da('0x39')]?_0x3395fd[_0x23da('0x37')]:_0x53e2bb['model'];if(_0x7fb655[_0x23da('0x33')][_0x23da('0x43')]){_0x3395fd['include']=[{'all':!![]}];}_0x3395fd=_[_0x23da('0x41')]({},_0x3395fd,_0x7fb655['options']);return db['SquareRecording'][_0x23da('0x4a')](_0x3395fd)[_0x23da('0x26')](handleEntityNotFound(_0x3e46b4,null))[_0x23da('0x26')](respondWithResult(_0x3e46b4,null))['catch'](handleError(_0x3e46b4,null));};exports[_0x23da('0x4b')]=function(_0x134d81,_0x16f100){return db[_0x23da('0x2f')][_0x23da('0x4b')](_0x134d81[_0x23da('0x4c')],{})['then'](respondWithResult(_0x16f100,0xc9))['catch'](handleError(_0x16f100,null));};exports['update']=function(_0x588e25,_0x15b642){if(_0x588e25[_0x23da('0x4c')]['id']){delete _0x588e25[_0x23da('0x4c')]['id'];}return db[_0x23da('0x2f')]['find']({'where':{'id':_0x588e25['params']['id']}})[_0x23da('0x26')](handleEntityNotFound(_0x15b642,null))[_0x23da('0x26')](saveUpdates(_0x588e25['body'],null))['then'](respondWithResult(_0x15b642,null))[_0x23da('0x47')](handleError(_0x15b642,null));};exports['download']=function(_0x4c2cc7,_0x4d0986,_0x125750){var _0x28f6e0=require('../../components/encryptor');var _0x2275ca=![];var _0x4fe3a7={};if(_0x4c2cc7['query'][_0x23da('0x40')]&&_0x4c2cc7[_0x23da('0x33')][_0x23da('0x40')]===_0x23da('0x4d')){_0x4fe3a7['uniqueid']=_0x4c2cc7[_0x23da('0x49')]['id'];}else{_0x4fe3a7['id']=_0x4c2cc7[_0x23da('0x49')]['id'];}return db[_0x23da('0x2f')]['find']({'where':_0x4fe3a7,'attributes':['id',_0x23da('0x4e'),_0x23da('0x4f')],'raw':!![]})['then'](handleEntityNotFound(_0x4d0986,null))[_0x23da('0x26')](function(_0x220211){if(_0x220211){var _0x31cb36=_0x220211[_0x23da('0x4e')];var _0x4ca9ec=util['format'](_0x23da('0x50'),_0x31cb36);if(fs[_0x23da('0x51')](_0x4ca9ec)){_0x2275ca=!![];return _0x28f6e0[_0x23da('0x52')](_0x4ca9ec,_0x31cb36,config['secrets'][_0x23da('0x53')])[_0x23da('0x26')](function(){return _0x220211;});}return _0x220211;}})[_0x23da('0x26')](function(_0x19d5c2){if(_0x19d5c2){var _0x29149b=_0x19d5c2[_0x23da('0x4e')];if(!fs[_0x23da('0x51')](_0x29149b)){throw new db[(_0x23da('0x54'))][(_0x23da('0x55'))]('SquareRecording\x20not\x20found');}if(_0x19d5c2['filename']){return _0x4d0986[_0x23da('0x56')](_0x29149b,_0x19d5c2['filename']+path[_0x23da('0x57')](_0x29149b),function(){if(_0x2275ca){fs[_0x23da('0x58')](_0x29149b);}});}else{return _0x4d0986[_0x23da('0x56')](_0x29149b,function(_0xf890dc){if(_0x2275ca){fs[_0x23da('0x58')](_0x29149b);}});}}})[_0x23da('0x47')](function(_0x882cb1){if(_0x882cb1[_0x23da('0x59')]==='SquareRecording\x20not\x20found'){_0x4d0986[_0x23da('0x1b')](0x194)['send'](_0x23da('0x5a'));}else{return handleError(_0x4d0986,null);}});};exports[_0x23da('0x27')]=function(_0x48f1ee,_0x207bee){return db[_0x23da('0x2f')][_0x23da('0x4a')]({'where':{'id':_0x48f1ee[_0x23da('0x49')]['id']}})[_0x23da('0x26')](function(_0xf4025c){if(_['isNil'](_0xf4025c)){throw new ReferenceError(_0x23da('0x5b'));}return _0xf4025c;})[_0x23da('0x26')](function(_0x2c1cbe){var _0x54dd5d=_0x2c1cbe[_0x23da('0x4e')];logger[_0x23da('0x5c')]('cancellazione\x20fisica\x20documento\x20%s',_0x54dd5d);if(!_[_0x23da('0x5d')](_0x2c1cbe[_0x23da('0x4e')])&&fs[_0x23da('0x51')](_0x54dd5d)){logger[_0x23da('0x5c')](_0x23da('0x5e')+_0x54dd5d+_0x23da('0x5f'));fs['unlinkSync'](_0x54dd5d);}_0x54dd5d=_0x54dd5d+'.cypher';if(!_['isNil'](_0x2c1cbe['savePath'])&&fs[_0x23da('0x51')](_0x54dd5d)){logger[_0x23da('0x5c')](_0x23da('0x5e')+_0x54dd5d+_0x23da('0x5f'));fs[_0x23da('0x60')](_0x54dd5d);}return _0x2c1cbe;})[_0x23da('0x26')](function(_0x59abe6){if(!_0x59abe6)throw new InternalError();return _0x59abe6[_0x23da('0x27')]();})[_0x23da('0x26')](function(){_0x207bee[_0x23da('0x1b')](0xcc)[_0x23da('0x28')]();})[_0x23da('0x47')](handleError(_0x207bee,null));};