5d885ddc47825cf56c41c236c19e5bb61922256e
[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 _0x1c90=['rows','catch','show','params','keys','rawAttributes','find','create','body','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','unlink','message','SquareRecording\x20not\x20found','Not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','update','then','destroy','error','stack','name','send','index','fieldName','key','model','map','query','filters','intersection','attributes','fields','length','nolimit','sort','where','filter','merge','type','VIRTUAL','options','SquareRecording','includeAll','include','findAll'];(function(_0x413feb,_0x10477f){var _0x40ee88=function(_0x32a3f6){while(--_0x32a3f6){_0x413feb['push'](_0x413feb['shift']());}};_0x40ee88(++_0x10477f);}(_0x1c90,0x150));var _0x01c9=function(_0x13ac79,_0x529af2){_0x13ac79=_0x13ac79-0x0;var _0x26b218=_0x1c90[_0x13ac79];return _0x26b218;};'use strict';var emlformat=require(_0x01c9('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x01c9('0x1'));var rp=require(_0x01c9('0x2'));var moment=require(_0x01c9('0x3'));var BPromise=require(_0x01c9('0x4'));var Mustache=require('mustache');var util=require(_0x01c9('0x5'));var path=require('path');var sox=require(_0x01c9('0x6'));var csv=require(_0x01c9('0x7'));var ejs=require(_0x01c9('0x8'));var fs=require('fs');var fs_extra=require(_0x01c9('0x9'));var _=require(_0x01c9('0xa'));var squel=require(_0x01c9('0xb'));var crypto=require(_0x01c9('0xc'));var jsforce=require(_0x01c9('0xd'));var deskjs=require(_0x01c9('0xe'));var toCsv=require(_0x01c9('0x7'));var querystring=require(_0x01c9('0xf'));var Papa=require(_0x01c9('0x10'));var Redis=require(_0x01c9('0x11'));var authService=require(_0x01c9('0x12'));var qs=require(_0x01c9('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x01c9('0x14'));var logger=require(_0x01c9('0x15'))(_0x01c9('0x16'));var utils=require(_0x01c9('0x17'));var config=require(_0x01c9('0x18'));var licenseUtil=require(_0x01c9('0x19'));var db=require(_0x01c9('0x1a'))['db'];function respondWithStatusCode(_0xf738b7,_0x1265ef){_0x1265ef=_0x1265ef||0xcc;return function(_0x1cd122){if(_0x1cd122){return _0xf738b7[_0x01c9('0x1b')](_0x1265ef);}return _0xf738b7[_0x01c9('0x1c')](_0x1265ef)[_0x01c9('0x1d')]();};}function respondWithResult(_0x36d258,_0x2c7185){_0x2c7185=_0x2c7185||0xc8;return function(_0x273e8b){if(_0x273e8b){return _0x36d258['status'](_0x2c7185)[_0x01c9('0x1e')](_0x273e8b);}};}function respondWithFilteredResult(_0x4815e8,_0x1ad29e){return function(_0x4af9bd){if(_0x4af9bd){var _0x5d205e=typeof _0x1ad29e['offset']===_0x01c9('0x1f')&&typeof _0x1ad29e[_0x01c9('0x20')]==='undefined';var _0x4c03a4=_0x4af9bd[_0x01c9('0x21')];var _0x1c3d77=_0x5d205e?0x0:_0x1ad29e[_0x01c9('0x22')];var _0x15ea62=_0x5d205e?_0x4af9bd[_0x01c9('0x21')]:_0x1ad29e[_0x01c9('0x22')]+_0x1ad29e[_0x01c9('0x20')];var _0x1d28fc;if(_0x15ea62>=_0x4c03a4){_0x15ea62=_0x4c03a4;_0x1d28fc=0xc8;}else{_0x1d28fc=0xce;}_0x4815e8[_0x01c9('0x1c')](_0x1d28fc);return _0x4815e8[_0x01c9('0x23')](_0x01c9('0x24'),_0x1c3d77+'-'+_0x15ea62+'/'+_0x4c03a4)[_0x01c9('0x1e')](_0x4af9bd);}return null;};}function patchUpdates(_0x3fb721){return function(_0x386021){try{jsonpatch['apply'](_0x386021,_0x3fb721,!![]);}catch(_0x51dc6c){return BPromise[_0x01c9('0x25')](_0x51dc6c);}return _0x386021['save']();};}function saveUpdates(_0x4b9eb9,_0x9cb535){return function(_0x536d42){if(_0x536d42){return _0x536d42[_0x01c9('0x26')](_0x4b9eb9)[_0x01c9('0x27')](function(_0x837c40){return _0x837c40;});}return null;};}function removeEntity(_0x71e247,_0x37739a){return function(_0x1d0d50){if(_0x1d0d50){return _0x1d0d50[_0x01c9('0x28')]()['then'](function(){_0x71e247['status'](0xcc)[_0x01c9('0x1d')]();});}};}function handleEntityNotFound(_0xdede19,_0x3df32f){return function(_0x33eefd){if(!_0x33eefd){_0xdede19[_0x01c9('0x1b')](0x194);}return _0x33eefd;};}function handleError(_0x347ffc,_0x41e23c){_0x41e23c=_0x41e23c||0x1f4;return function(_0x190276){logger[_0x01c9('0x29')](_0x190276[_0x01c9('0x2a')]);if(_0x190276['name']){delete _0x190276[_0x01c9('0x2b')];}_0x347ffc[_0x01c9('0x1c')](_0x41e23c)[_0x01c9('0x2c')](_0x190276);};}exports[_0x01c9('0x2d')]=function(_0x202dd5,_0x30830f){var _0x4e9663={},_0x349056={},_0x43e0f3={'count':0x0,'rows':[]};var _0x12503f=_['map'](db['SquareRecording']['rawAttributes'],function(_0x1da537){return{'name':_0x1da537[_0x01c9('0x2e')],'type':_0x1da537['type'][_0x01c9('0x2f')]};});_0x349056[_0x01c9('0x30')]=_[_0x01c9('0x31')](_0x12503f,_0x01c9('0x2b'));_0x349056[_0x01c9('0x32')]=_['keys'](_0x202dd5[_0x01c9('0x32')]);_0x349056[_0x01c9('0x33')]=_[_0x01c9('0x34')](_0x349056['model'],_0x349056['query']);_0x4e9663[_0x01c9('0x35')]=_['intersection'](_0x349056[_0x01c9('0x30')],qs[_0x01c9('0x36')](_0x202dd5[_0x01c9('0x32')][_0x01c9('0x36')]));_0x4e9663[_0x01c9('0x35')]=_0x4e9663[_0x01c9('0x35')][_0x01c9('0x37')]?_0x4e9663['attributes']:_0x349056[_0x01c9('0x30')];if(!_0x202dd5[_0x01c9('0x32')]['hasOwnProperty'](_0x01c9('0x38'))){_0x4e9663['limit']=qs['limit'](_0x202dd5[_0x01c9('0x32')]['limit']);_0x4e9663[_0x01c9('0x22')]=qs[_0x01c9('0x22')](_0x202dd5[_0x01c9('0x32')][_0x01c9('0x22')]);}_0x4e9663['order']=qs[_0x01c9('0x39')](_0x202dd5[_0x01c9('0x32')][_0x01c9('0x39')]);_0x4e9663[_0x01c9('0x3a')]=qs[_0x01c9('0x33')](_['pick'](_0x202dd5[_0x01c9('0x32')],_0x349056[_0x01c9('0x33')]),_0x12503f);if(_0x202dd5[_0x01c9('0x32')][_0x01c9('0x3b')]){_0x4e9663[_0x01c9('0x3a')]=_[_0x01c9('0x3c')](_0x4e9663[_0x01c9('0x3a')],{'$or':_[_0x01c9('0x31')](_0x12503f,function(_0xb9e498){if(_0xb9e498[_0x01c9('0x3d')]!==_0x01c9('0x3e')){var _0xb63a74={};_0xb63a74[_0xb9e498[_0x01c9('0x2b')]]={'$like':'%'+_0x202dd5[_0x01c9('0x32')][_0x01c9('0x3b')]+'%'};return _0xb63a74;}})});}_0x4e9663=_[_0x01c9('0x3c')]({},_0x4e9663,_0x202dd5[_0x01c9('0x3f')]);var _0x5ab30c={'where':_0x4e9663[_0x01c9('0x3a')]};return db[_0x01c9('0x40')][_0x01c9('0x21')](_0x5ab30c)[_0x01c9('0x27')](function(_0x5d46f0){_0x43e0f3['count']=_0x5d46f0;if(_0x202dd5[_0x01c9('0x32')][_0x01c9('0x41')]){_0x4e9663[_0x01c9('0x42')]=[{'all':!![]}];}return db['SquareRecording'][_0x01c9('0x43')](_0x4e9663);})['then'](function(_0x31e523){_0x43e0f3[_0x01c9('0x44')]=_0x31e523;return _0x43e0f3;})['then'](respondWithFilteredResult(_0x30830f,_0x4e9663))[_0x01c9('0x45')](handleError(_0x30830f,null));};exports[_0x01c9('0x46')]=function(_0x4d1c0f,_0x160965){var _0x287a4a={'raw':!![],'where':{'id':_0x4d1c0f[_0x01c9('0x47')]['id']}},_0x288428={};_0x288428[_0x01c9('0x30')]=_[_0x01c9('0x48')](db[_0x01c9('0x40')][_0x01c9('0x49')]);_0x288428[_0x01c9('0x32')]=_[_0x01c9('0x48')](_0x4d1c0f[_0x01c9('0x32')]);_0x288428[_0x01c9('0x33')]=_[_0x01c9('0x34')](_0x288428['model'],_0x288428['query']);_0x287a4a['attributes']=_[_0x01c9('0x34')](_0x288428[_0x01c9('0x30')],qs[_0x01c9('0x36')](_0x4d1c0f[_0x01c9('0x32')][_0x01c9('0x36')]));_0x287a4a[_0x01c9('0x35')]=_0x287a4a[_0x01c9('0x35')][_0x01c9('0x37')]?_0x287a4a[_0x01c9('0x35')]:_0x288428[_0x01c9('0x30')];if(_0x4d1c0f[_0x01c9('0x32')][_0x01c9('0x41')]){_0x287a4a[_0x01c9('0x42')]=[{'all':!![]}];}_0x287a4a=_[_0x01c9('0x3c')]({},_0x287a4a,_0x4d1c0f['options']);return db['SquareRecording'][_0x01c9('0x4a')](_0x287a4a)[_0x01c9('0x27')](handleEntityNotFound(_0x160965,null))[_0x01c9('0x27')](respondWithResult(_0x160965,null))[_0x01c9('0x45')](handleError(_0x160965,null));};exports[_0x01c9('0x4b')]=function(_0x2a598c,_0x4a9a90){return db['SquareRecording'][_0x01c9('0x4b')](_0x2a598c[_0x01c9('0x4c')],{})[_0x01c9('0x27')](respondWithResult(_0x4a9a90,0xc9))['catch'](handleError(_0x4a9a90,null));};exports[_0x01c9('0x26')]=function(_0x15dbaf,_0x2b02cc){if(_0x15dbaf[_0x01c9('0x4c')]['id']){delete _0x15dbaf[_0x01c9('0x4c')]['id'];}return db[_0x01c9('0x40')][_0x01c9('0x4a')]({'where':{'id':_0x15dbaf[_0x01c9('0x47')]['id']}})[_0x01c9('0x27')](handleEntityNotFound(_0x2b02cc,null))[_0x01c9('0x27')](saveUpdates(_0x15dbaf[_0x01c9('0x4c')],null))[_0x01c9('0x27')](respondWithResult(_0x2b02cc,null))[_0x01c9('0x45')](handleError(_0x2b02cc,null));};exports[_0x01c9('0x4d')]=function(_0x166d92,_0x43db2c,_0x4b5b97){var _0x48c662=require(_0x01c9('0x4e'));var _0x1c912e=![];var _0x2b437d={};if(_0x166d92[_0x01c9('0x32')]['type']&&_0x166d92[_0x01c9('0x32')][_0x01c9('0x3d')]===_0x01c9('0x4f')){_0x2b437d[_0x01c9('0x4f')]=_0x166d92[_0x01c9('0x47')]['id'];}else{_0x2b437d['id']=_0x166d92['params']['id'];}return db[_0x01c9('0x40')][_0x01c9('0x4a')]({'where':_0x2b437d,'attributes':['id',_0x01c9('0x50'),_0x01c9('0x51')],'raw':!![]})['then'](handleEntityNotFound(_0x43db2c,null))[_0x01c9('0x27')](function(_0x4a5942){if(_0x4a5942){var _0x39ce8d=_0x4a5942[_0x01c9('0x50')];var _0x3edb27=util[_0x01c9('0x52')](_0x01c9('0x53'),_0x39ce8d);if(fs[_0x01c9('0x54')](_0x3edb27)){_0x1c912e=!![];return _0x48c662[_0x01c9('0x55')](_0x3edb27,_0x39ce8d,config[_0x01c9('0x56')][_0x01c9('0x57')])['then'](function(){return _0x4a5942;});}return _0x4a5942;}})[_0x01c9('0x27')](function(_0x5b8d30){if(_0x5b8d30){var _0x2453f6=_0x5b8d30['savePath'];if(!fs[_0x01c9('0x54')](_0x2453f6)){throw new db[(_0x01c9('0x58'))][(_0x01c9('0x59'))]('SquareRecording\x20not\x20found');}if(_0x5b8d30[_0x01c9('0x51')]){return _0x43db2c['download'](_0x2453f6,_0x5b8d30['filename']+path['extname'](_0x2453f6),function(){if(_0x1c912e){fs['unlink'](_0x2453f6);}});}else{return _0x43db2c[_0x01c9('0x4d')](_0x2453f6,function(_0xc5d1c){if(_0x1c912e){fs[_0x01c9('0x5a')](_0x2453f6);}});}}})[_0x01c9('0x45')](function(_0x4ca6bc){if(_0x4ca6bc[_0x01c9('0x5b')]===_0x01c9('0x5c')){_0x43db2c[_0x01c9('0x1c')](0x194)[_0x01c9('0x2c')](_0x01c9('0x5d'));}else{return handleError(_0x43db2c,null);}});};exports[_0x01c9('0x28')]=function(_0x1af561,_0x4e54bf){return db[_0x01c9('0x40')][_0x01c9('0x4a')]({'where':{'id':_0x1af561['params']['id']}})[_0x01c9('0x27')](function(_0x2820ac){if(_[_0x01c9('0x5e')](_0x2820ac)){throw new ReferenceError(_0x01c9('0x5f'));}return _0x2820ac;})[_0x01c9('0x27')](function(_0x3176d9){var _0x4cf639=_0x3176d9['savePath'];logger[_0x01c9('0x60')](_0x01c9('0x61'),_0x4cf639);if(!_[_0x01c9('0x5e')](_0x3176d9[_0x01c9('0x50')])&&fs['existsSync'](_0x4cf639)){logger['info'](_0x01c9('0x62')+_0x4cf639+_0x01c9('0x63'));fs[_0x01c9('0x64')](_0x4cf639);}_0x4cf639=_0x4cf639+'.cypher';if(!_[_0x01c9('0x5e')](_0x3176d9['savePath'])&&fs['existsSync'](_0x4cf639)){logger[_0x01c9('0x60')](_0x01c9('0x62')+_0x4cf639+_0x01c9('0x63'));fs[_0x01c9('0x64')](_0x4cf639);}return _0x3176d9;})[_0x01c9('0x27')](function(_0x501397){if(!_0x501397)throw new InternalError();return _0x501397[_0x01c9('0x28')]();})[_0x01c9('0x27')](function(){_0x4e54bf[_0x01c9('0x1c')](0xcc)[_0x01c9('0x1d')]();})[_0x01c9('0x45')](handleError(_0x4e54bf,null));};