Built motion from commit 1ea47bf4.|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 _0x9919=['rows','catch','params','rawAttributes','include','options','create','body','find','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','recording','ValidationError','extname','unlink','message','Not\x20found','Entity\x20not\x20found','info','isNil','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','rimraf','request-promise','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/license/util','status','offset','undefined','limit','set','json','apply','reject','save','update','then','destroy','end','sendStatus','error','stack','name','send','index','map','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','merge','filter','SquareRecording','count','includeAll','findAll'];(function(_0x4d6463,_0x50d8c6){var _0x2d3deb=function(_0x55eae5){while(--_0x55eae5){_0x4d6463['push'](_0x4d6463['shift']());}};_0x2d3deb(++_0x50d8c6);}(_0x9919,0x193));var _0x9991=function(_0x4fd75e,_0x219e4a){_0x4fd75e=_0x4fd75e-0x0;var _0x5b6338=_0x9919[_0x4fd75e];return _0x5b6338;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9991('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x9991('0x1'));var moment=require(_0x9991('0x2'));var BPromise=require(_0x9991('0x3'));var Mustache=require('mustache');var util=require(_0x9991('0x4'));var path=require(_0x9991('0x5'));var sox=require(_0x9991('0x6'));var csv=require(_0x9991('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9991('0x8'));var squel=require(_0x9991('0x9'));var crypto=require(_0x9991('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x9991('0xb'));var toCsv=require('to-csv');var querystring=require(_0x9991('0xc'));var Papa=require(_0x9991('0xd'));var Redis=require(_0x9991('0xe'));var authService=require(_0x9991('0xf'));var qs=require(_0x9991('0x10'));var as=require(_0x9991('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9991('0x12'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x9991('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4c9165,_0x16116e){_0x16116e=_0x16116e||0xcc;return function(_0x4e211a){if(_0x4e211a){return _0x4c9165['sendStatus'](_0x16116e);}return _0x4c9165[_0x9991('0x14')](_0x16116e)['end']();};}function respondWithResult(_0xc6f062,_0x3b1d0d){_0x3b1d0d=_0x3b1d0d||0xc8;return function(_0x24bf16){if(_0x24bf16){return _0xc6f062[_0x9991('0x14')](_0x3b1d0d)['json'](_0x24bf16);}};}function respondWithFilteredResult(_0x3f2207,_0x625ba){return function(_0x3f9ff6){if(_0x3f9ff6){var _0x1464b2=typeof _0x625ba[_0x9991('0x15')]===_0x9991('0x16')&&typeof _0x625ba[_0x9991('0x17')]===_0x9991('0x16');var _0x461ec6=_0x3f9ff6['count'];var _0x261cc5=_0x1464b2?0x0:_0x625ba['offset'];var _0x346d2d=_0x1464b2?_0x3f9ff6['count']:_0x625ba[_0x9991('0x15')]+_0x625ba['limit'];var _0x2c0b39;if(_0x346d2d>=_0x461ec6){_0x346d2d=_0x461ec6;_0x2c0b39=0xc8;}else{_0x2c0b39=0xce;}_0x3f2207['status'](_0x2c0b39);return _0x3f2207[_0x9991('0x18')]('Content-Range',_0x261cc5+'-'+_0x346d2d+'/'+_0x461ec6)[_0x9991('0x19')](_0x3f9ff6);}return null;};}function patchUpdates(_0x439ed3){return function(_0x992d1c){try{jsonpatch[_0x9991('0x1a')](_0x992d1c,_0x439ed3,!![]);}catch(_0x4cd8ce){return BPromise[_0x9991('0x1b')](_0x4cd8ce);}return _0x992d1c[_0x9991('0x1c')]();};}function saveUpdates(_0x5eb59c,_0x512098){return function(_0x15bc1b){if(_0x15bc1b){return _0x15bc1b[_0x9991('0x1d')](_0x5eb59c)[_0x9991('0x1e')](function(_0x534c11){return _0x534c11;});}return null;};}function removeEntity(_0x35052e,_0x19fe17){return function(_0x17ce11){if(_0x17ce11){return _0x17ce11[_0x9991('0x1f')]()[_0x9991('0x1e')](function(){_0x35052e[_0x9991('0x14')](0xcc)[_0x9991('0x20')]();});}};}function handleEntityNotFound(_0x375661,_0x2e23f1){return function(_0x417c2f){if(!_0x417c2f){_0x375661[_0x9991('0x21')](0x194);}return _0x417c2f;};}function handleError(_0x45258b,_0x1e40ab){_0x1e40ab=_0x1e40ab||0x1f4;return function(_0x39b481){logger[_0x9991('0x22')](_0x39b481[_0x9991('0x23')]);if(_0x39b481[_0x9991('0x24')]){delete _0x39b481['name'];}_0x45258b[_0x9991('0x14')](_0x1e40ab)[_0x9991('0x25')](_0x39b481);};}exports[_0x9991('0x26')]=function(_0x435ce9,_0x2c52ae){var _0x833b5b={},_0x53870a={},_0x6f8936={'count':0x0,'rows':[]};var _0x17c6ba=_[_0x9991('0x27')](db['SquareRecording']['rawAttributes'],function(_0x261a6c){return{'name':_0x261a6c[_0x9991('0x28')],'type':_0x261a6c[_0x9991('0x29')][_0x9991('0x2a')]};});_0x53870a[_0x9991('0x2b')]=_[_0x9991('0x27')](_0x17c6ba,'name');_0x53870a[_0x9991('0x2c')]=_[_0x9991('0x2d')](_0x435ce9['query']);_0x53870a['filters']=_[_0x9991('0x2e')](_0x53870a[_0x9991('0x2b')],_0x53870a[_0x9991('0x2c')]);_0x833b5b[_0x9991('0x2f')]=_[_0x9991('0x2e')](_0x53870a[_0x9991('0x2b')],qs[_0x9991('0x30')](_0x435ce9[_0x9991('0x2c')]['fields']));_0x833b5b[_0x9991('0x2f')]=_0x833b5b['attributes'][_0x9991('0x31')]?_0x833b5b[_0x9991('0x2f')]:_0x53870a[_0x9991('0x2b')];if(!_0x435ce9[_0x9991('0x2c')]['hasOwnProperty'](_0x9991('0x32'))){_0x833b5b[_0x9991('0x17')]=qs[_0x9991('0x17')](_0x435ce9[_0x9991('0x2c')][_0x9991('0x17')]);_0x833b5b[_0x9991('0x15')]=qs[_0x9991('0x15')](_0x435ce9[_0x9991('0x2c')][_0x9991('0x15')]);}_0x833b5b[_0x9991('0x33')]=qs['sort'](_0x435ce9[_0x9991('0x2c')][_0x9991('0x34')]);_0x833b5b[_0x9991('0x35')]=qs[_0x9991('0x36')](_[_0x9991('0x37')](_0x435ce9[_0x9991('0x2c')],_0x53870a[_0x9991('0x36')]),_0x17c6ba);if(_0x435ce9[_0x9991('0x2c')]['filter']){_0x833b5b[_0x9991('0x35')]=_[_0x9991('0x38')](_0x833b5b[_0x9991('0x35')],{'$or':_[_0x9991('0x27')](_0x17c6ba,function(_0x24f0ae){if(_0x24f0ae[_0x9991('0x29')]!=='VIRTUAL'){var _0x18e90b={};_0x18e90b[_0x24f0ae[_0x9991('0x24')]]={'$like':'%'+_0x435ce9[_0x9991('0x2c')][_0x9991('0x39')]+'%'};return _0x18e90b;}})});}_0x833b5b=_['merge']({},_0x833b5b,_0x435ce9['options']);var _0x4cc3bc={'where':_0x833b5b[_0x9991('0x35')]};return db[_0x9991('0x3a')][_0x9991('0x3b')](_0x4cc3bc)[_0x9991('0x1e')](function(_0x50020d){_0x6f8936[_0x9991('0x3b')]=_0x50020d;if(_0x435ce9[_0x9991('0x2c')][_0x9991('0x3c')]){_0x833b5b['include']=[{'all':!![]}];}return db['SquareRecording'][_0x9991('0x3d')](_0x833b5b);})[_0x9991('0x1e')](function(_0x14cb8a){_0x6f8936[_0x9991('0x3e')]=_0x14cb8a;return _0x6f8936;})[_0x9991('0x1e')](respondWithFilteredResult(_0x2c52ae,_0x833b5b))[_0x9991('0x3f')](handleError(_0x2c52ae,null));};exports['show']=function(_0x500b28,_0x769c89){var _0x28ec08={'raw':!![],'where':{'id':_0x500b28[_0x9991('0x40')]['id']}},_0x4ec788={};_0x4ec788[_0x9991('0x2b')]=_[_0x9991('0x2d')](db[_0x9991('0x3a')][_0x9991('0x41')]);_0x4ec788[_0x9991('0x2c')]=_['keys'](_0x500b28[_0x9991('0x2c')]);_0x4ec788[_0x9991('0x36')]=_[_0x9991('0x2e')](_0x4ec788['model'],_0x4ec788['query']);_0x28ec08[_0x9991('0x2f')]=_['intersection'](_0x4ec788['model'],qs['fields'](_0x500b28[_0x9991('0x2c')][_0x9991('0x30')]));_0x28ec08[_0x9991('0x2f')]=_0x28ec08[_0x9991('0x2f')][_0x9991('0x31')]?_0x28ec08['attributes']:_0x4ec788[_0x9991('0x2b')];if(_0x500b28['query'][_0x9991('0x3c')]){_0x28ec08[_0x9991('0x42')]=[{'all':!![]}];}_0x28ec08=_[_0x9991('0x38')]({},_0x28ec08,_0x500b28[_0x9991('0x43')]);return db[_0x9991('0x3a')]['find'](_0x28ec08)[_0x9991('0x1e')](handleEntityNotFound(_0x769c89,null))[_0x9991('0x1e')](respondWithResult(_0x769c89,null))['catch'](handleError(_0x769c89,null));};exports[_0x9991('0x44')]=function(_0x4d096d,_0x1f5815){return db['SquareRecording']['create'](_0x4d096d[_0x9991('0x45')],{})[_0x9991('0x1e')](respondWithResult(_0x1f5815,0xc9))[_0x9991('0x3f')](handleError(_0x1f5815,null));};exports[_0x9991('0x1d')]=function(_0x4232c8,_0x3e4f91){if(_0x4232c8[_0x9991('0x45')]['id']){delete _0x4232c8[_0x9991('0x45')]['id'];}return db[_0x9991('0x3a')][_0x9991('0x46')]({'where':{'id':_0x4232c8[_0x9991('0x40')]['id']}})[_0x9991('0x1e')](handleEntityNotFound(_0x3e4f91,null))[_0x9991('0x1e')](saveUpdates(_0x4232c8['body'],null))[_0x9991('0x1e')](respondWithResult(_0x3e4f91,null))['catch'](handleError(_0x3e4f91,null));};exports[_0x9991('0x47')]=function(_0x2361e1,_0x44e848,_0x2feac3){var _0x4c60d9=require(_0x9991('0x48'));var _0x47ac4e=![];var _0x333929={};if(_0x2361e1[_0x9991('0x2c')][_0x9991('0x29')]&&_0x2361e1[_0x9991('0x2c')][_0x9991('0x29')]===_0x9991('0x49')){_0x333929[_0x9991('0x49')]=_0x2361e1[_0x9991('0x40')]['id'];}else{_0x333929['id']=_0x2361e1['params']['id'];}return db[_0x9991('0x3a')][_0x9991('0x46')]({'where':_0x333929,'attributes':['id',_0x9991('0x4a'),_0x9991('0x4b')],'raw':!![]})[_0x9991('0x1e')](handleEntityNotFound(_0x44e848,null))[_0x9991('0x1e')](function(_0xd118fa){if(_0xd118fa){var _0x4cc60d=_0xd118fa[_0x9991('0x4a')];var _0x16a3b6=util[_0x9991('0x4c')](_0x9991('0x4d'),_0x4cc60d);if(fs[_0x9991('0x4e')](_0x16a3b6)){_0x47ac4e=!![];return _0x4c60d9[_0x9991('0x4f')](_0x16a3b6,_0x4cc60d,config[_0x9991('0x50')][_0x9991('0x51')])['then'](function(){return _0xd118fa;});}return _0xd118fa;}})[_0x9991('0x1e')](function(_0x3d529e){if(_0x3d529e){var _0x3f1bb4=_0x3d529e['savePath'];if(!fs[_0x9991('0x4e')](_0x3f1bb4)){throw new db['Sequelize'][(_0x9991('0x52'))]('SquareRecording\x20not\x20found');}if(_0x3d529e[_0x9991('0x4b')]){return _0x44e848[_0x9991('0x47')](_0x3f1bb4,_0x3d529e[_0x9991('0x4b')]+path[_0x9991('0x53')](_0x3f1bb4),function(){if(_0x47ac4e){fs[_0x9991('0x54')](_0x3f1bb4);}});}else{return _0x44e848[_0x9991('0x47')](_0x3f1bb4,function(_0x4e6960){if(_0x47ac4e){fs['unlink'](_0x3f1bb4);}});}}})[_0x9991('0x3f')](function(_0x55292e){if(_0x55292e[_0x9991('0x55')]==='SquareRecording\x20not\x20found'){_0x44e848[_0x9991('0x14')](0x194)[_0x9991('0x25')](_0x9991('0x56'));}else{return handleError(_0x44e848,null);}});};exports[_0x9991('0x1f')]=function(_0x33747e,_0x5f42dd){return db['SquareRecording'][_0x9991('0x46')]({'where':{'id':_0x33747e[_0x9991('0x40')]['id']}})['then'](function(_0x371739){if(_['isNil'](_0x371739)){throw new ReferenceError(_0x9991('0x57'));}return _0x371739;})['then'](function(_0x40cda5){var _0x53697e=_0x40cda5[_0x9991('0x4a')];logger[_0x9991('0x58')]('cancellazione\x20fisica\x20documento\x20%s',_0x53697e);if(!_[_0x9991('0x59')](_0x40cda5['savePath'])&&fs[_0x9991('0x4e')](_0x53697e)){logger['info']('File:\x20\x22'+_0x53697e+_0x9991('0x5a'));fs[_0x9991('0x5b')](_0x53697e);}_0x53697e=_0x53697e+_0x9991('0x5c');if(!_[_0x9991('0x59')](_0x40cda5['savePath'])&&fs[_0x9991('0x4e')](_0x53697e)){logger['info']('File:\x20\x22'+_0x53697e+_0x9991('0x5a'));fs[_0x9991('0x5b')](_0x53697e);}return _0x40cda5;})[_0x9991('0x1e')](function(_0x24bb74){if(!_0x24bb74)throw new InternalError();return _0x24bb74[_0x9991('0x1f')]();})[_0x9991('0x1e')](function(){_0x5f42dd['status'](0xcc)[_0x9991('0x20')]();})['catch'](handleError(_0x5f42dd,null));};