Built motion from commit 00bf23f6.|2.6.16
[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 _0x9745=['info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','File:\x20\x22','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','save','then','destroy','index','fieldName','key','map','name','query','keys','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','options','SquareRecording','includeAll','rows','show','params','rawAttributes','include','find','catch','create','update','body','download','../../components/encryptor','type','uniqueid','savePath','filename','existsSync','decryptFile','secrets','ValidationError','unlink','message','SquareRecording\x20not\x20found','send','Not\x20found','isNil','Entity\x20not\x20found'];(function(_0x47c4ba,_0x3d692c){var _0x5435eb=function(_0x10c849){while(--_0x10c849){_0x47c4ba['push'](_0x47c4ba['shift']());}};_0x5435eb(++_0x3d692c);}(_0x9745,0xc0));var _0x5974=function(_0x1c8c28,_0x3ee093){_0x1c8c28=_0x1c8c28-0x0;var _0x1f59b4=_0x9745[_0x1c8c28];return _0x1f59b4;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x5974('0x0'));var jsonpatch=require(_0x5974('0x1'));var rp=require('request-promise');var moment=require(_0x5974('0x2'));var BPromise=require(_0x5974('0x3'));var Mustache=require(_0x5974('0x4'));var util=require(_0x5974('0x5'));var path=require(_0x5974('0x6'));var sox=require(_0x5974('0x7'));var csv=require('to-csv');var ejs=require(_0x5974('0x8'));var fs=require('fs');var fs_extra=require(_0x5974('0x9'));var _=require(_0x5974('0xa'));var squel=require(_0x5974('0xb'));var crypto=require(_0x5974('0xc'));var jsforce=require(_0x5974('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x5974('0xe'));var querystring=require(_0x5974('0xf'));var Papa=require(_0x5974('0x10'));var Redis=require(_0x5974('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x5974('0x12'));var as=require(_0x5974('0x13'));var hardwareService=require(_0x5974('0x14'));var logger=require(_0x5974('0x15'))(_0x5974('0x16'));var utils=require(_0x5974('0x17'));var config=require(_0x5974('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x5974('0x19'))['db'];function respondWithStatusCode(_0x398580,_0x41f7a3){_0x41f7a3=_0x41f7a3||0xcc;return function(_0x7f9838){if(_0x7f9838){return _0x398580[_0x5974('0x1a')](_0x41f7a3);}return _0x398580[_0x5974('0x1b')](_0x41f7a3)[_0x5974('0x1c')]();};}function respondWithResult(_0x360da4,_0x433613){_0x433613=_0x433613||0xc8;return function(_0x3c568e){if(_0x3c568e){return _0x360da4[_0x5974('0x1b')](_0x433613)[_0x5974('0x1d')](_0x3c568e);}};}function respondWithFilteredResult(_0x28f3d9,_0x1d70f9){return function(_0x2771b3){if(_0x2771b3){var _0x2cbb96=typeof _0x1d70f9[_0x5974('0x1e')]===_0x5974('0x1f')&&typeof _0x1d70f9[_0x5974('0x20')]==='undefined';var _0x538f35=_0x2771b3[_0x5974('0x21')];var _0x1eb721=_0x2cbb96?0x0:_0x1d70f9[_0x5974('0x1e')];var _0x1787be=_0x2cbb96?_0x2771b3['count']:_0x1d70f9['offset']+_0x1d70f9[_0x5974('0x20')];var _0x433e57;if(_0x1787be>=_0x538f35){_0x1787be=_0x538f35;_0x433e57=0xc8;}else{_0x433e57=0xce;}_0x28f3d9['status'](_0x433e57);return _0x28f3d9[_0x5974('0x22')](_0x5974('0x23'),_0x1eb721+'-'+_0x1787be+'/'+_0x538f35)[_0x5974('0x1d')](_0x2771b3);}return null;};}function patchUpdates(_0x17096b){return function(_0x108d16){try{jsonpatch['apply'](_0x108d16,_0x17096b,!![]);}catch(_0x19b855){return BPromise['reject'](_0x19b855);}return _0x108d16[_0x5974('0x24')]();};}function saveUpdates(_0x9feb56,_0xb0f4e4){return function(_0x33cc4b){if(_0x33cc4b){return _0x33cc4b['update'](_0x9feb56)[_0x5974('0x25')](function(_0x4d42ff){return _0x4d42ff;});}return null;};}function removeEntity(_0x5618ab,_0x288dc2){return function(_0x38c3fc){if(_0x38c3fc){return _0x38c3fc[_0x5974('0x26')]()[_0x5974('0x25')](function(){_0x5618ab[_0x5974('0x1b')](0xcc)[_0x5974('0x1c')]();});}};}function handleEntityNotFound(_0x10fadc,_0xfb647b){return function(_0x4eae0a){if(!_0x4eae0a){_0x10fadc['sendStatus'](0x194);}return _0x4eae0a;};}function handleError(_0x30c8cd,_0x1009e7){_0x1009e7=_0x1009e7||0x1f4;return function(_0x326782){logger['error'](_0x326782['stack']);if(_0x326782['name']){delete _0x326782['name'];}_0x30c8cd['status'](_0x1009e7)['send'](_0x326782);};}exports[_0x5974('0x27')]=function(_0x5377c9,_0x197bba){var _0x4a84d7={},_0x8e45a7={},_0x5659b1={'count':0x0,'rows':[]};var _0x46c1db=_['map'](db['SquareRecording']['rawAttributes'],function(_0x369752){return{'name':_0x369752[_0x5974('0x28')],'type':_0x369752['type'][_0x5974('0x29')]};});_0x8e45a7['model']=_[_0x5974('0x2a')](_0x46c1db,_0x5974('0x2b'));_0x8e45a7[_0x5974('0x2c')]=_[_0x5974('0x2d')](_0x5377c9[_0x5974('0x2c')]);_0x8e45a7['filters']=_[_0x5974('0x2e')](_0x8e45a7[_0x5974('0x2f')],_0x8e45a7[_0x5974('0x2c')]);_0x4a84d7['attributes']=_[_0x5974('0x2e')](_0x8e45a7[_0x5974('0x2f')],qs[_0x5974('0x30')](_0x5377c9[_0x5974('0x2c')][_0x5974('0x30')]));_0x4a84d7['attributes']=_0x4a84d7[_0x5974('0x31')][_0x5974('0x32')]?_0x4a84d7[_0x5974('0x31')]:_0x8e45a7[_0x5974('0x2f')];if(!_0x5377c9[_0x5974('0x2c')][_0x5974('0x33')](_0x5974('0x34'))){_0x4a84d7[_0x5974('0x20')]=qs['limit'](_0x5377c9[_0x5974('0x2c')][_0x5974('0x20')]);_0x4a84d7[_0x5974('0x1e')]=qs[_0x5974('0x1e')](_0x5377c9['query'][_0x5974('0x1e')]);}_0x4a84d7[_0x5974('0x35')]=qs[_0x5974('0x36')](_0x5377c9['query'][_0x5974('0x36')]);_0x4a84d7[_0x5974('0x37')]=qs[_0x5974('0x38')](_[_0x5974('0x39')](_0x5377c9[_0x5974('0x2c')],_0x8e45a7['filters']),_0x46c1db);if(_0x5377c9[_0x5974('0x2c')][_0x5974('0x3a')]){_0x4a84d7[_0x5974('0x37')]=_[_0x5974('0x3b')](_0x4a84d7[_0x5974('0x37')],{'$or':_[_0x5974('0x2a')](_0x46c1db,function(_0x569f35){if(_0x569f35['type']!=='VIRTUAL'){var _0x243591={};_0x243591[_0x569f35[_0x5974('0x2b')]]={'$like':'%'+_0x5377c9[_0x5974('0x2c')]['filter']+'%'};return _0x243591;}})});}_0x4a84d7=_['merge']({},_0x4a84d7,_0x5377c9[_0x5974('0x3c')]);var _0x2c0efd={'where':_0x4a84d7['where']};return db[_0x5974('0x3d')]['count'](_0x2c0efd)[_0x5974('0x25')](function(_0x592d72){_0x5659b1[_0x5974('0x21')]=_0x592d72;if(_0x5377c9[_0x5974('0x2c')][_0x5974('0x3e')]){_0x4a84d7['include']=[{'all':!![]}];}return db[_0x5974('0x3d')]['findAll'](_0x4a84d7);})[_0x5974('0x25')](function(_0x206c32){_0x5659b1[_0x5974('0x3f')]=_0x206c32;return _0x5659b1;})[_0x5974('0x25')](respondWithFilteredResult(_0x197bba,_0x4a84d7))['catch'](handleError(_0x197bba,null));};exports[_0x5974('0x40')]=function(_0x512b9a,_0x360965){var _0x5691d7={'raw':!![],'where':{'id':_0x512b9a[_0x5974('0x41')]['id']}},_0x265dcc={};_0x265dcc[_0x5974('0x2f')]=_[_0x5974('0x2d')](db[_0x5974('0x3d')][_0x5974('0x42')]);_0x265dcc[_0x5974('0x2c')]=_['keys'](_0x512b9a[_0x5974('0x2c')]);_0x265dcc[_0x5974('0x38')]=_[_0x5974('0x2e')](_0x265dcc[_0x5974('0x2f')],_0x265dcc[_0x5974('0x2c')]);_0x5691d7[_0x5974('0x31')]=_[_0x5974('0x2e')](_0x265dcc[_0x5974('0x2f')],qs[_0x5974('0x30')](_0x512b9a[_0x5974('0x2c')][_0x5974('0x30')]));_0x5691d7[_0x5974('0x31')]=_0x5691d7['attributes'][_0x5974('0x32')]?_0x5691d7[_0x5974('0x31')]:_0x265dcc[_0x5974('0x2f')];if(_0x512b9a[_0x5974('0x2c')][_0x5974('0x3e')]){_0x5691d7[_0x5974('0x43')]=[{'all':!![]}];}_0x5691d7=_[_0x5974('0x3b')]({},_0x5691d7,_0x512b9a[_0x5974('0x3c')]);return db[_0x5974('0x3d')][_0x5974('0x44')](_0x5691d7)[_0x5974('0x25')](handleEntityNotFound(_0x360965,null))[_0x5974('0x25')](respondWithResult(_0x360965,null))[_0x5974('0x45')](handleError(_0x360965,null));};exports['create']=function(_0x5266e5,_0x57eec9){return db[_0x5974('0x3d')][_0x5974('0x46')](_0x5266e5['body'],{})[_0x5974('0x25')](respondWithResult(_0x57eec9,0xc9))['catch'](handleError(_0x57eec9,null));};exports[_0x5974('0x47')]=function(_0x5905af,_0x392073){if(_0x5905af['body']['id']){delete _0x5905af[_0x5974('0x48')]['id'];}return db[_0x5974('0x3d')][_0x5974('0x44')]({'where':{'id':_0x5905af[_0x5974('0x41')]['id']}})[_0x5974('0x25')](handleEntityNotFound(_0x392073,null))[_0x5974('0x25')](saveUpdates(_0x5905af[_0x5974('0x48')],null))[_0x5974('0x25')](respondWithResult(_0x392073,null))[_0x5974('0x45')](handleError(_0x392073,null));};exports[_0x5974('0x49')]=function(_0x4ff02b,_0x30b0db,_0xc4a4bd){var _0x32cb50=require(_0x5974('0x4a'));var _0x2864fd=![];var _0x43a2d3={};if(_0x4ff02b[_0x5974('0x2c')][_0x5974('0x4b')]&&_0x4ff02b[_0x5974('0x2c')][_0x5974('0x4b')]===_0x5974('0x4c')){_0x43a2d3[_0x5974('0x4c')]=_0x4ff02b['params']['id'];}else{_0x43a2d3['id']=_0x4ff02b[_0x5974('0x41')]['id'];}return db[_0x5974('0x3d')][_0x5974('0x44')]({'where':_0x43a2d3,'attributes':['id',_0x5974('0x4d'),_0x5974('0x4e')],'raw':!![]})[_0x5974('0x25')](handleEntityNotFound(_0x30b0db,null))[_0x5974('0x25')](function(_0x240c95){if(_0x240c95){var _0x3f9af9=_0x240c95[_0x5974('0x4d')];var _0x22d5bb=util['format']('%s.cypher',_0x3f9af9);if(fs[_0x5974('0x4f')](_0x22d5bb)){_0x2864fd=!![];return _0x32cb50[_0x5974('0x50')](_0x22d5bb,_0x3f9af9,config[_0x5974('0x51')]['recording'])['then'](function(){return _0x240c95;});}return _0x240c95;}})['then'](function(_0x19079e){if(_0x19079e){var _0x2e58f7=_0x19079e[_0x5974('0x4d')];if(!fs['existsSync'](_0x2e58f7)){throw new db['Sequelize'][(_0x5974('0x52'))]('SquareRecording\x20not\x20found');}if(_0x19079e[_0x5974('0x4e')]){return _0x30b0db[_0x5974('0x49')](_0x2e58f7,_0x19079e['filename']+path['extname'](_0x2e58f7),function(){if(_0x2864fd){fs[_0x5974('0x53')](_0x2e58f7);}});}else{return _0x30b0db[_0x5974('0x49')](_0x2e58f7,function(_0x23d495){if(_0x2864fd){fs[_0x5974('0x53')](_0x2e58f7);}});}}})['catch'](function(_0x5ce746){if(_0x5ce746[_0x5974('0x54')]===_0x5974('0x55')){_0x30b0db[_0x5974('0x1b')](0x194)[_0x5974('0x56')](_0x5974('0x57'));}else{return handleError(_0x30b0db,null);}});};exports[_0x5974('0x26')]=function(_0x4a9c5c,_0x5c67a9){return db['SquareRecording'][_0x5974('0x44')]({'where':{'id':_0x4a9c5c[_0x5974('0x41')]['id']}})[_0x5974('0x25')](function(_0x5cb557){if(_[_0x5974('0x58')](_0x5cb557)){throw new ReferenceError(_0x5974('0x59'));}return _0x5cb557;})[_0x5974('0x25')](function(_0x99b24e){var _0x262f71=_0x99b24e[_0x5974('0x4d')];logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x262f71);if(!_['isNil'](_0x99b24e[_0x5974('0x4d')])&&fs['existsSync'](_0x262f71)){logger[_0x5974('0x5a')]('File:\x20\x22'+_0x262f71+_0x5974('0x5b'));fs['unlinkSync'](_0x262f71);}_0x262f71=_0x262f71+_0x5974('0x5c');if(!_[_0x5974('0x58')](_0x99b24e[_0x5974('0x4d')])&&fs['existsSync'](_0x262f71)){logger[_0x5974('0x5a')](_0x5974('0x5d')+_0x262f71+_0x5974('0x5b'));fs['unlinkSync'](_0x262f71);}return _0x99b24e;})[_0x5974('0x25')](function(_0x2c6760){if(!_0x2c6760)throw new InternalError();return _0x2c6760[_0x5974('0x26')]();})[_0x5974('0x25')](function(){_0x5c67a9['status'](0xcc)[_0x5974('0x1c')]();})['catch'](handleError(_0x5c67a9,null));};