Built motion from commit 10af8726.|2.6.34
[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 _0x2605=['request-promise','bluebird','util','path','sox','to-csv','fs-extra','squel','crypto','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','apply','save','update','then','end','stack','name','send','index','map','rawAttributes','fieldName','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','SquareRecording','includeAll','include','findAll','rows','show','keys','find','catch','create','body','params','download','../../components/encryptor','type','uniqueid','filename','%s.cypher','decryptFile','secrets','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','message','Not\x20found','Entity\x20not\x20found','savePath','info','cancellazione\x20fisica\x20documento\x20%s','isNil','existsSync','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','zip-dir','fast-json-patch'];(function(_0x46edb7,_0x1e53b0){var _0xc4ce02=function(_0x80e959){while(--_0x80e959){_0x46edb7['push'](_0x46edb7['shift']());}};_0xc4ce02(++_0x1e53b0);}(_0x2605,0x172));var _0x5260=function(_0x515afd,_0x1a1e91){_0x515afd=_0x515afd-0x0;var _0x536d53=_0x2605[_0x515afd];return _0x536d53;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x5260('0x0'));var jsonpatch=require(_0x5260('0x1'));var rp=require(_0x5260('0x2'));var moment=require('moment');var BPromise=require(_0x5260('0x3'));var Mustache=require('mustache');var util=require(_0x5260('0x4'));var path=require(_0x5260('0x5'));var sox=require(_0x5260('0x6'));var csv=require(_0x5260('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5260('0x8'));var _=require('lodash');var squel=require(_0x5260('0x9'));var crypto=require(_0x5260('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x5260('0xb'));var Papa=require(_0x5260('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x5260('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5260('0xe'));var logger=require('../../config/logger')(_0x5260('0xf'));var utils=require(_0x5260('0x10'));var config=require(_0x5260('0x11'));var licenseUtil=require(_0x5260('0x12'));var db=require(_0x5260('0x13'))['db'];function respondWithStatusCode(_0x4a9c6c,_0x5ac05c){_0x5ac05c=_0x5ac05c||0xcc;return function(_0x1dba93){if(_0x1dba93){return _0x4a9c6c[_0x5260('0x14')](_0x5ac05c);}return _0x4a9c6c[_0x5260('0x15')](_0x5ac05c)['end']();};}function respondWithResult(_0x10361a,_0x3e6410){_0x3e6410=_0x3e6410||0xc8;return function(_0x21fac4){if(_0x21fac4){return _0x10361a[_0x5260('0x15')](_0x3e6410)[_0x5260('0x16')](_0x21fac4);}};}function respondWithFilteredResult(_0x11adca,_0x778c02){return function(_0x138819){if(_0x138819){var _0x3c1b26=typeof _0x778c02[_0x5260('0x17')]===_0x5260('0x18')&&typeof _0x778c02[_0x5260('0x19')]==='undefined';var _0x3fd547=_0x138819[_0x5260('0x1a')];var _0x411ac2=_0x3c1b26?0x0:_0x778c02['offset'];var _0x28fc73=_0x3c1b26?_0x138819[_0x5260('0x1a')]:_0x778c02['offset']+_0x778c02['limit'];var _0x242584;if(_0x28fc73>=_0x3fd547){_0x28fc73=_0x3fd547;_0x242584=0xc8;}else{_0x242584=0xce;}_0x11adca[_0x5260('0x15')](_0x242584);return _0x11adca['set']('Content-Range',_0x411ac2+'-'+_0x28fc73+'/'+_0x3fd547)[_0x5260('0x16')](_0x138819);}return null;};}function patchUpdates(_0x3f7f39){return function(_0x533ea0){try{jsonpatch[_0x5260('0x1b')](_0x533ea0,_0x3f7f39,!![]);}catch(_0x1d359b){return BPromise['reject'](_0x1d359b);}return _0x533ea0[_0x5260('0x1c')]();};}function saveUpdates(_0x4191e0,_0x13b0d9){return function(_0x52e1b2){if(_0x52e1b2){return _0x52e1b2[_0x5260('0x1d')](_0x4191e0)[_0x5260('0x1e')](function(_0x5f31a0){return _0x5f31a0;});}return null;};}function removeEntity(_0x192a4f,_0x4cd014){return function(_0x1ccf2d){if(_0x1ccf2d){return _0x1ccf2d['destroy']()[_0x5260('0x1e')](function(){_0x192a4f[_0x5260('0x15')](0xcc)[_0x5260('0x1f')]();});}};}function handleEntityNotFound(_0x42c8c2,_0x4dff10){return function(_0xf2b86f){if(!_0xf2b86f){_0x42c8c2[_0x5260('0x14')](0x194);}return _0xf2b86f;};}function handleError(_0x539c29,_0x5d9edf){_0x5d9edf=_0x5d9edf||0x1f4;return function(_0x3bc532){logger['error'](_0x3bc532[_0x5260('0x20')]);if(_0x3bc532[_0x5260('0x21')]){delete _0x3bc532[_0x5260('0x21')];}_0x539c29[_0x5260('0x15')](_0x5d9edf)[_0x5260('0x22')](_0x3bc532);};}exports[_0x5260('0x23')]=function(_0x437b6b,_0x56dbb8){var _0x2d23f4={},_0x9707d4={},_0x23b692={'count':0x0,'rows':[]};var _0x4fa39b=_[_0x5260('0x24')](db['SquareRecording'][_0x5260('0x25')],function(_0x535705){return{'name':_0x535705[_0x5260('0x26')],'type':_0x535705['type']['key']};});_0x9707d4[_0x5260('0x27')]=_['map'](_0x4fa39b,_0x5260('0x21'));_0x9707d4[_0x5260('0x28')]=_['keys'](_0x437b6b['query']);_0x9707d4[_0x5260('0x29')]=_[_0x5260('0x2a')](_0x9707d4[_0x5260('0x27')],_0x9707d4[_0x5260('0x28')]);_0x2d23f4[_0x5260('0x2b')]=_['intersection'](_0x9707d4['model'],qs[_0x5260('0x2c')](_0x437b6b[_0x5260('0x28')][_0x5260('0x2c')]));_0x2d23f4[_0x5260('0x2b')]=_0x2d23f4['attributes'][_0x5260('0x2d')]?_0x2d23f4[_0x5260('0x2b')]:_0x9707d4[_0x5260('0x27')];if(!_0x437b6b[_0x5260('0x28')][_0x5260('0x2e')](_0x5260('0x2f'))){_0x2d23f4[_0x5260('0x19')]=qs['limit'](_0x437b6b[_0x5260('0x28')][_0x5260('0x19')]);_0x2d23f4[_0x5260('0x17')]=qs[_0x5260('0x17')](_0x437b6b['query'][_0x5260('0x17')]);}_0x2d23f4[_0x5260('0x30')]=qs[_0x5260('0x31')](_0x437b6b['query']['sort']);_0x2d23f4[_0x5260('0x32')]=qs['filters'](_[_0x5260('0x33')](_0x437b6b[_0x5260('0x28')],_0x9707d4[_0x5260('0x29')]),_0x4fa39b);if(_0x437b6b[_0x5260('0x28')][_0x5260('0x34')]){_0x2d23f4[_0x5260('0x32')]=_[_0x5260('0x35')](_0x2d23f4[_0x5260('0x32')],{'$or':_[_0x5260('0x24')](_0x4fa39b,function(_0x365de3){if(_0x365de3['type']!==_0x5260('0x36')){var _0x433b83={};_0x433b83[_0x365de3['name']]={'$like':'%'+_0x437b6b['query'][_0x5260('0x34')]+'%'};return _0x433b83;}})});}_0x2d23f4=_['merge']({},_0x2d23f4,_0x437b6b[_0x5260('0x37')]);var _0xdd9534={'where':_0x2d23f4[_0x5260('0x32')]};return db[_0x5260('0x38')][_0x5260('0x1a')](_0xdd9534)['then'](function(_0x3e9e66){_0x23b692[_0x5260('0x1a')]=_0x3e9e66;if(_0x437b6b[_0x5260('0x28')][_0x5260('0x39')]){_0x2d23f4[_0x5260('0x3a')]=[{'all':!![]}];}return db[_0x5260('0x38')][_0x5260('0x3b')](_0x2d23f4);})['then'](function(_0x3b52f1){_0x23b692[_0x5260('0x3c')]=_0x3b52f1;return _0x23b692;})[_0x5260('0x1e')](respondWithFilteredResult(_0x56dbb8,_0x2d23f4))['catch'](handleError(_0x56dbb8,null));};exports[_0x5260('0x3d')]=function(_0x4480c7,_0x141e36){var _0xfc37e={'raw':!![],'where':{'id':_0x4480c7['params']['id']}},_0x443d1e={};_0x443d1e['model']=_[_0x5260('0x3e')](db['SquareRecording']['rawAttributes']);_0x443d1e[_0x5260('0x28')]=_[_0x5260('0x3e')](_0x4480c7['query']);_0x443d1e[_0x5260('0x29')]=_[_0x5260('0x2a')](_0x443d1e['model'],_0x443d1e[_0x5260('0x28')]);_0xfc37e[_0x5260('0x2b')]=_[_0x5260('0x2a')](_0x443d1e[_0x5260('0x27')],qs[_0x5260('0x2c')](_0x4480c7[_0x5260('0x28')][_0x5260('0x2c')]));_0xfc37e[_0x5260('0x2b')]=_0xfc37e['attributes']['length']?_0xfc37e[_0x5260('0x2b')]:_0x443d1e[_0x5260('0x27')];if(_0x4480c7[_0x5260('0x28')][_0x5260('0x39')]){_0xfc37e[_0x5260('0x3a')]=[{'all':!![]}];}_0xfc37e=_[_0x5260('0x35')]({},_0xfc37e,_0x4480c7['options']);return db[_0x5260('0x38')][_0x5260('0x3f')](_0xfc37e)[_0x5260('0x1e')](handleEntityNotFound(_0x141e36,null))[_0x5260('0x1e')](respondWithResult(_0x141e36,null))[_0x5260('0x40')](handleError(_0x141e36,null));};exports['create']=function(_0xbb27a7,_0x241ef4){return db['SquareRecording'][_0x5260('0x41')](_0xbb27a7[_0x5260('0x42')],{})[_0x5260('0x1e')](respondWithResult(_0x241ef4,0xc9))[_0x5260('0x40')](handleError(_0x241ef4,null));};exports[_0x5260('0x1d')]=function(_0x37ae81,_0x26ea59){if(_0x37ae81[_0x5260('0x42')]['id']){delete _0x37ae81[_0x5260('0x42')]['id'];}return db[_0x5260('0x38')][_0x5260('0x3f')]({'where':{'id':_0x37ae81[_0x5260('0x43')]['id']}})[_0x5260('0x1e')](handleEntityNotFound(_0x26ea59,null))[_0x5260('0x1e')](saveUpdates(_0x37ae81['body'],null))['then'](respondWithResult(_0x26ea59,null))[_0x5260('0x40')](handleError(_0x26ea59,null));};exports[_0x5260('0x44')]=function(_0x54f43f,_0x4ed375,_0x29b0fe){var _0x362006=require(_0x5260('0x45'));var _0x48c03c=![];var _0x299eff={};if(_0x54f43f['query'][_0x5260('0x46')]&&_0x54f43f['query'][_0x5260('0x46')]===_0x5260('0x47')){_0x299eff[_0x5260('0x47')]=_0x54f43f['params']['id'];}else{_0x299eff['id']=_0x54f43f[_0x5260('0x43')]['id'];}return db[_0x5260('0x38')][_0x5260('0x3f')]({'where':_0x299eff,'attributes':['id','savePath',_0x5260('0x48')],'raw':!![]})[_0x5260('0x1e')](handleEntityNotFound(_0x4ed375,null))[_0x5260('0x1e')](function(_0x3db54d){if(_0x3db54d){var _0x37e3bf=_0x3db54d['savePath'];var _0x387603=util['format'](_0x5260('0x49'),_0x37e3bf);if(fs['existsSync'](_0x387603)){_0x48c03c=!![];return _0x362006[_0x5260('0x4a')](_0x387603,_0x37e3bf,config[_0x5260('0x4b')]['recording'])[_0x5260('0x1e')](function(){return _0x3db54d;});}return _0x3db54d;}})[_0x5260('0x1e')](function(_0x15e2c3){if(_0x15e2c3){var _0x53bafb=_0x15e2c3['savePath'];if(!fs['existsSync'](_0x53bafb)){throw new db[(_0x5260('0x4c'))][(_0x5260('0x4d'))](_0x5260('0x4e'));}if(_0x15e2c3[_0x5260('0x48')]){return _0x4ed375['download'](_0x53bafb,_0x15e2c3['filename']+path[_0x5260('0x4f')](_0x53bafb),function(){if(_0x48c03c){fs[_0x5260('0x50')](_0x53bafb);}});}else{return _0x4ed375[_0x5260('0x44')](_0x53bafb,function(_0x34a349){if(_0x48c03c){fs[_0x5260('0x50')](_0x53bafb);}});}}})[_0x5260('0x40')](function(_0x5e2866){if(_0x5e2866[_0x5260('0x51')]==='SquareRecording\x20not\x20found'){_0x4ed375['status'](0x194)['send'](_0x5260('0x52'));}else{return handleError(_0x4ed375,null);}});};exports['destroy']=function(_0x59ebb4,_0x31811e){return db[_0x5260('0x38')][_0x5260('0x3f')]({'where':{'id':_0x59ebb4['params']['id']}})[_0x5260('0x1e')](function(_0x58b469){if(_['isNil'](_0x58b469)){throw new ReferenceError(_0x5260('0x53'));}return _0x58b469;})[_0x5260('0x1e')](function(_0x5add4e){var _0xb7eb8=_0x5add4e[_0x5260('0x54')];logger[_0x5260('0x55')](_0x5260('0x56'),_0xb7eb8);if(!_[_0x5260('0x57')](_0x5add4e[_0x5260('0x54')])&&fs[_0x5260('0x58')](_0xb7eb8)){logger[_0x5260('0x55')](_0x5260('0x59')+_0xb7eb8+_0x5260('0x5a'));fs[_0x5260('0x5b')](_0xb7eb8);}_0xb7eb8=_0xb7eb8+_0x5260('0x5c');if(!_[_0x5260('0x57')](_0x5add4e[_0x5260('0x54')])&&fs['existsSync'](_0xb7eb8)){logger[_0x5260('0x55')](_0x5260('0x59')+_0xb7eb8+_0x5260('0x5a'));fs[_0x5260('0x5b')](_0xb7eb8);}return _0x5add4e;})[_0x5260('0x1e')](function(_0x543e7a){if(!_0x543e7a)throw new InternalError();return _0x543e7a['destroy']();})['then'](function(){_0x31811e['status'](0xcc)['end']();})[_0x5260('0x40')](handleError(_0x31811e,null));};