Built motion from commit 497d3d92.|2.5.43
[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 _0x62d0=['ejs','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','Content-Range','apply','reject','update','destroy','then','error','stack','name','send','index','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','type','filter','SquareRecording','includeAll','rows','catch','show','include','options','find','create','body','params','download','../../components/encryptor','uniqueid','savePath','existsSync','decryptFile','secrets','recording','SquareRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','moment','bluebird','mustache','util','path','sox','to-csv'];(function(_0x1cc1eb,_0x529f26){var _0x1aebf3=function(_0x1d9a1d){while(--_0x1d9a1d){_0x1cc1eb['push'](_0x1cc1eb['shift']());}};_0x1aebf3(++_0x529f26);}(_0x62d0,0x171));var _0x062d=function(_0x599f41,_0x4db732){_0x599f41=_0x599f41-0x0;var _0x2e4d58=_0x62d0[_0x599f41];return _0x2e4d58;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x062d('0x0'));var BPromise=require(_0x062d('0x1'));var Mustache=require(_0x062d('0x2'));var util=require(_0x062d('0x3'));var path=require(_0x062d('0x4'));var sox=require(_0x062d('0x5'));var csv=require(_0x062d('0x6'));var ejs=require(_0x062d('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x062d('0x8'));var crypto=require(_0x062d('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x062d('0x6'));var querystring=require(_0x062d('0xa'));var Papa=require(_0x062d('0xb'));var Redis=require(_0x062d('0xc'));var authService=require(_0x062d('0xd'));var qs=require(_0x062d('0xe'));var as=require(_0x062d('0xf'));var hardwareService=require(_0x062d('0x10'));var logger=require(_0x062d('0x11'))(_0x062d('0x12'));var utils=require(_0x062d('0x13'));var config=require(_0x062d('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x062d('0x15'))['db'];function respondWithStatusCode(_0x373fc0,_0x3118e6){_0x3118e6=_0x3118e6||0xcc;return function(_0x3ff124){if(_0x3ff124){return _0x373fc0[_0x062d('0x16')](_0x3118e6);}return _0x373fc0[_0x062d('0x17')](_0x3118e6)[_0x062d('0x18')]();};}function respondWithResult(_0x2eac3f,_0x57fd50){_0x57fd50=_0x57fd50||0xc8;return function(_0x31a32a){if(_0x31a32a){return _0x2eac3f['status'](_0x57fd50)[_0x062d('0x19')](_0x31a32a);}};}function respondWithFilteredResult(_0x1c0439,_0x28358d){return function(_0x25d5e1){if(_0x25d5e1){var _0x968c05=typeof _0x28358d['offset']===_0x062d('0x1a')&&typeof _0x28358d['limit']===_0x062d('0x1a');var _0x23381f=_0x25d5e1[_0x062d('0x1b')];var _0x49dda7=_0x968c05?0x0:_0x28358d[_0x062d('0x1c')];var _0x34dcc5=_0x968c05?_0x25d5e1[_0x062d('0x1b')]:_0x28358d[_0x062d('0x1c')]+_0x28358d['limit'];var _0x21cf60;if(_0x34dcc5>=_0x23381f){_0x34dcc5=_0x23381f;_0x21cf60=0xc8;}else{_0x21cf60=0xce;}_0x1c0439[_0x062d('0x17')](_0x21cf60);return _0x1c0439['set'](_0x062d('0x1d'),_0x49dda7+'-'+_0x34dcc5+'/'+_0x23381f)[_0x062d('0x19')](_0x25d5e1);}return null;};}function patchUpdates(_0x136d52){return function(_0x1a383e){try{jsonpatch[_0x062d('0x1e')](_0x1a383e,_0x136d52,!![]);}catch(_0x331d58){return BPromise[_0x062d('0x1f')](_0x331d58);}return _0x1a383e['save']();};}function saveUpdates(_0x5cb4d9,_0x6f93d9){return function(_0x4dffa6){if(_0x4dffa6){return _0x4dffa6[_0x062d('0x20')](_0x5cb4d9)['then'](function(_0x1e834a){return _0x1e834a;});}return null;};}function removeEntity(_0x1f5bbb,_0x102570){return function(_0x30236c){if(_0x30236c){return _0x30236c[_0x062d('0x21')]()[_0x062d('0x22')](function(){_0x1f5bbb[_0x062d('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x24ce60,_0x3f0338){return function(_0xd05533){if(!_0xd05533){_0x24ce60[_0x062d('0x16')](0x194);}return _0xd05533;};}function handleError(_0x2d75eb,_0x11ace6){_0x11ace6=_0x11ace6||0x1f4;return function(_0x33bd68){logger[_0x062d('0x23')](_0x33bd68[_0x062d('0x24')]);if(_0x33bd68['name']){delete _0x33bd68[_0x062d('0x25')];}_0x2d75eb[_0x062d('0x17')](_0x11ace6)[_0x062d('0x26')](_0x33bd68);};}exports[_0x062d('0x27')]=function(_0x5bce70,_0x228b99){var _0xfa4c90={},_0x3d6673={},_0x434c7d={'count':0x0,'rows':[]};var _0x215868=_['map'](db['SquareRecording'][_0x062d('0x28')],function(_0x3e2153){return{'name':_0x3e2153[_0x062d('0x29')],'type':_0x3e2153['type'][_0x062d('0x2a')]};});_0x3d6673[_0x062d('0x2b')]=_[_0x062d('0x2c')](_0x215868,_0x062d('0x25'));_0x3d6673[_0x062d('0x2d')]=_[_0x062d('0x2e')](_0x5bce70['query']);_0x3d6673[_0x062d('0x2f')]=_['intersection'](_0x3d6673[_0x062d('0x2b')],_0x3d6673['query']);_0xfa4c90['attributes']=_[_0x062d('0x30')](_0x3d6673['model'],qs[_0x062d('0x31')](_0x5bce70[_0x062d('0x2d')][_0x062d('0x31')]));_0xfa4c90[_0x062d('0x32')]=_0xfa4c90[_0x062d('0x32')][_0x062d('0x33')]?_0xfa4c90[_0x062d('0x32')]:_0x3d6673[_0x062d('0x2b')];if(!_0x5bce70[_0x062d('0x2d')][_0x062d('0x34')](_0x062d('0x35'))){_0xfa4c90[_0x062d('0x36')]=qs[_0x062d('0x36')](_0x5bce70[_0x062d('0x2d')][_0x062d('0x36')]);_0xfa4c90[_0x062d('0x1c')]=qs[_0x062d('0x1c')](_0x5bce70[_0x062d('0x2d')][_0x062d('0x1c')]);}_0xfa4c90[_0x062d('0x37')]=qs[_0x062d('0x38')](_0x5bce70[_0x062d('0x2d')][_0x062d('0x38')]);_0xfa4c90[_0x062d('0x39')]=qs['filters'](_[_0x062d('0x3a')](_0x5bce70[_0x062d('0x2d')],_0x3d6673[_0x062d('0x2f')]),_0x215868);if(_0x5bce70[_0x062d('0x2d')]['filter']){_0xfa4c90[_0x062d('0x39')]=_[_0x062d('0x3b')](_0xfa4c90[_0x062d('0x39')],{'$or':_[_0x062d('0x2c')](_0x215868,function(_0x4357e4){if(_0x4357e4[_0x062d('0x3c')]!=='VIRTUAL'){var _0x3e8329={};_0x3e8329[_0x4357e4[_0x062d('0x25')]]={'$like':'%'+_0x5bce70[_0x062d('0x2d')][_0x062d('0x3d')]+'%'};return _0x3e8329;}})});}_0xfa4c90=_[_0x062d('0x3b')]({},_0xfa4c90,_0x5bce70['options']);var _0x57ed64={'where':_0xfa4c90['where']};return db[_0x062d('0x3e')]['count'](_0x57ed64)[_0x062d('0x22')](function(_0x282f72){_0x434c7d[_0x062d('0x1b')]=_0x282f72;if(_0x5bce70[_0x062d('0x2d')][_0x062d('0x3f')]){_0xfa4c90['include']=[{'all':!![]}];}return db['SquareRecording']['findAll'](_0xfa4c90);})[_0x062d('0x22')](function(_0x34ae70){_0x434c7d[_0x062d('0x40')]=_0x34ae70;return _0x434c7d;})[_0x062d('0x22')](respondWithFilteredResult(_0x228b99,_0xfa4c90))[_0x062d('0x41')](handleError(_0x228b99,null));};exports[_0x062d('0x42')]=function(_0x445aad,_0x372f46){var _0x38dd6c={'raw':!![],'where':{'id':_0x445aad['params']['id']}},_0x3867cc={};_0x3867cc[_0x062d('0x2b')]=_[_0x062d('0x2e')](db[_0x062d('0x3e')][_0x062d('0x28')]);_0x3867cc[_0x062d('0x2d')]=_[_0x062d('0x2e')](_0x445aad[_0x062d('0x2d')]);_0x3867cc[_0x062d('0x2f')]=_[_0x062d('0x30')](_0x3867cc['model'],_0x3867cc['query']);_0x38dd6c[_0x062d('0x32')]=_['intersection'](_0x3867cc[_0x062d('0x2b')],qs['fields'](_0x445aad['query'][_0x062d('0x31')]));_0x38dd6c['attributes']=_0x38dd6c[_0x062d('0x32')][_0x062d('0x33')]?_0x38dd6c[_0x062d('0x32')]:_0x3867cc[_0x062d('0x2b')];if(_0x445aad[_0x062d('0x2d')][_0x062d('0x3f')]){_0x38dd6c[_0x062d('0x43')]=[{'all':!![]}];}_0x38dd6c=_[_0x062d('0x3b')]({},_0x38dd6c,_0x445aad[_0x062d('0x44')]);return db[_0x062d('0x3e')][_0x062d('0x45')](_0x38dd6c)[_0x062d('0x22')](handleEntityNotFound(_0x372f46,null))[_0x062d('0x22')](respondWithResult(_0x372f46,null))[_0x062d('0x41')](handleError(_0x372f46,null));};exports[_0x062d('0x46')]=function(_0x216b0b,_0x3e2d06){return db['SquareRecording'][_0x062d('0x46')](_0x216b0b[_0x062d('0x47')],{})[_0x062d('0x22')](respondWithResult(_0x3e2d06,0xc9))[_0x062d('0x41')](handleError(_0x3e2d06,null));};exports[_0x062d('0x20')]=function(_0x2108cf,_0x1b4217){if(_0x2108cf[_0x062d('0x47')]['id']){delete _0x2108cf[_0x062d('0x47')]['id'];}return db['SquareRecording'][_0x062d('0x45')]({'where':{'id':_0x2108cf[_0x062d('0x48')]['id']}})['then'](handleEntityNotFound(_0x1b4217,null))[_0x062d('0x22')](saveUpdates(_0x2108cf['body'],null))['then'](respondWithResult(_0x1b4217,null))[_0x062d('0x41')](handleError(_0x1b4217,null));};exports[_0x062d('0x49')]=function(_0x93c659,_0x3afc55,_0xbb2d59){var _0x3d3c35=require(_0x062d('0x4a'));var _0x1d03a7=![];var _0x499dcc={};if(_0x93c659[_0x062d('0x2d')][_0x062d('0x3c')]&&_0x93c659[_0x062d('0x2d')][_0x062d('0x3c')]===_0x062d('0x4b')){_0x499dcc['uniqueid']=_0x93c659['params']['id'];}else{_0x499dcc['id']=_0x93c659[_0x062d('0x48')]['id'];}return db[_0x062d('0x3e')]['find']({'where':_0x499dcc,'attributes':['id',_0x062d('0x4c'),'filename'],'raw':!![]})[_0x062d('0x22')](handleEntityNotFound(_0x3afc55,null))[_0x062d('0x22')](function(_0x5e58e4){if(_0x5e58e4){var _0x132186=_0x5e58e4[_0x062d('0x4c')];var _0x15e6c3=util['format']('%s.cypher',_0x132186);if(fs[_0x062d('0x4d')](_0x15e6c3)){_0x1d03a7=!![];return _0x3d3c35[_0x062d('0x4e')](_0x15e6c3,_0x132186,config[_0x062d('0x4f')][_0x062d('0x50')])['then'](function(){return _0x5e58e4;});}return _0x5e58e4;}})[_0x062d('0x22')](function(_0x235e14){if(_0x235e14){var _0x481146=_0x235e14[_0x062d('0x4c')];if(!fs[_0x062d('0x4d')](_0x481146)){throw new db['Sequelize']['ValidationError'](_0x062d('0x51'));}if(_0x235e14['filename']){return _0x3afc55[_0x062d('0x49')](_0x481146,_0x235e14[_0x062d('0x52')]+path[_0x062d('0x53')](_0x481146),function(){if(_0x1d03a7){fs[_0x062d('0x54')](_0x481146);}});}else{return _0x3afc55[_0x062d('0x49')](_0x481146,function(_0x526d38){if(_0x1d03a7){fs[_0x062d('0x54')](_0x481146);}});}}})[_0x062d('0x41')](function(_0x2ee715){if(_0x2ee715[_0x062d('0x55')]===_0x062d('0x51')){_0x3afc55[_0x062d('0x17')](0x194)[_0x062d('0x26')](_0x062d('0x56'));}else{return handleError(_0x3afc55,null);}});};exports[_0x062d('0x21')]=function(_0x17e4d7,_0x2b7ef7){return db['SquareRecording'][_0x062d('0x45')]({'where':{'id':_0x17e4d7[_0x062d('0x48')]['id']}})[_0x062d('0x22')](function(_0x116528){if(_[_0x062d('0x57')](_0x116528)){throw new ReferenceError(_0x062d('0x58'));}return _0x116528;})[_0x062d('0x22')](function(_0xa66a99){var _0x2a5689=_0xa66a99['savePath'];logger[_0x062d('0x59')]('cancellazione\x20fisica\x20documento\x20%s',_0x2a5689);if(!_['isNil'](_0xa66a99[_0x062d('0x4c')])&&fs[_0x062d('0x4d')](_0x2a5689)){logger['info'](_0x062d('0x5a')+_0x2a5689+_0x062d('0x5b'));fs[_0x062d('0x5c')](_0x2a5689);}_0x2a5689=_0x2a5689+_0x062d('0x5d');if(!_[_0x062d('0x57')](_0xa66a99['savePath'])&&fs[_0x062d('0x4d')](_0x2a5689)){logger[_0x062d('0x59')](_0x062d('0x5a')+_0x2a5689+_0x062d('0x5b'));fs[_0x062d('0x5c')](_0x2a5689);}return _0xa66a99;})[_0x062d('0x22')](function(_0x2d5a9b){if(!_0x2d5a9b)throw new InternalError();return _0x2d5a9b[_0x062d('0x21')]();})[_0x062d('0x22')](function(){_0x2b7ef7['status'](0xcc)[_0x062d('0x18')]();})[_0x062d('0x41')](handleError(_0x2b7ef7,null));};