Built motion from commit (unavailable).|2.5.27
[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 _0xf993=['fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','options','SquareRecording','count','includeAll','include','show','params','find','catch','body','download','../../components/encryptor','savePath','format','%s.cypher','decryptFile','secrets','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','extname','unlink','message','send','destroy','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','existsSync','unlinkSync','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','set','Content-Range','save','update','then','stack','name','index','fieldName','type','key','model','map','query','keys','filters','intersection','attributes'];(function(_0x430f40,_0x291a08){var _0x1f5f7d=function(_0x171c58){while(--_0x171c58){_0x430f40['push'](_0x430f40['shift']());}};_0x1f5f7d(++_0x291a08);}(_0xf993,0x19d));var _0x3f99=function(_0x1a62c7,_0x3e842d){_0x1a62c7=_0x1a62c7-0x0;var _0x594e62=_0xf993[_0x1a62c7];return _0x594e62;};'use strict';var emlformat=require(_0x3f99('0x0'));var rimraf=require(_0x3f99('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3f99('0x2'));var rp=require(_0x3f99('0x3'));var moment=require(_0x3f99('0x4'));var BPromise=require(_0x3f99('0x5'));var Mustache=require(_0x3f99('0x6'));var util=require('util');var path=require(_0x3f99('0x7'));var sox=require(_0x3f99('0x8'));var csv=require(_0x3f99('0x9'));var ejs=require(_0x3f99('0xa'));var fs=require('fs');var fs_extra=require(_0x3f99('0xb'));var _=require(_0x3f99('0xc'));var squel=require('squel');var crypto=require(_0x3f99('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x3f99('0xe'));var toCsv=require('to-csv');var querystring=require(_0x3f99('0xf'));var Papa=require(_0x3f99('0x10'));var Redis=require(_0x3f99('0x11'));var authService=require(_0x3f99('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x3f99('0x13'));var hardwareService=require(_0x3f99('0x14'));var logger=require('../../config/logger')(_0x3f99('0x15'));var utils=require('../../config/utils');var config=require(_0x3f99('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x3f99('0x17'))['db'];function respondWithStatusCode(_0x5c7061,_0x2e7352){_0x2e7352=_0x2e7352||0xcc;return function(_0x21e4d9){if(_0x21e4d9){return _0x5c7061[_0x3f99('0x18')](_0x2e7352);}return _0x5c7061[_0x3f99('0x19')](_0x2e7352)[_0x3f99('0x1a')]();};}function respondWithResult(_0x3f9209,_0x26e1b1){_0x26e1b1=_0x26e1b1||0xc8;return function(_0x17ad25){if(_0x17ad25){return _0x3f9209[_0x3f99('0x19')](_0x26e1b1)[_0x3f99('0x1b')](_0x17ad25);}};}function respondWithFilteredResult(_0x5812f6,_0x11ce8c){return function(_0x2bc46e){if(_0x2bc46e){var _0x15fc10=_0x2bc46e['count'],_0x19119f=_0x11ce8c[_0x3f99('0x1c')],_0xb00012=_0x11ce8c[_0x3f99('0x1c')]+_0x11ce8c['limit'],_0x35ef23;if(_0xb00012>=_0x15fc10){_0xb00012=_0x15fc10;_0x35ef23=0xc8;}else{_0x35ef23=0xce;}_0x5812f6[_0x3f99('0x19')](_0x35ef23);return _0x5812f6[_0x3f99('0x1d')](_0x3f99('0x1e'),_0x19119f+'-'+_0xb00012+'/'+_0x15fc10)[_0x3f99('0x1b')](_0x2bc46e);}return null;};}function patchUpdates(_0x36c2b3){return function(_0x3f9c14){try{jsonpatch['apply'](_0x3f9c14,_0x36c2b3,!![]);}catch(_0x46019d){return BPromise['reject'](_0x46019d);}return _0x3f9c14[_0x3f99('0x1f')]();};}function saveUpdates(_0x4b5df8,_0x46f4d5){return function(_0x105b58){if(_0x105b58){return _0x105b58[_0x3f99('0x20')](_0x4b5df8)['then'](function(_0x314b60){return _0x314b60;});}return null;};}function removeEntity(_0x5eff8b,_0x39e94b){return function(_0x417071){if(_0x417071){return _0x417071['destroy']()[_0x3f99('0x21')](function(){_0x5eff8b[_0x3f99('0x19')](0xcc)[_0x3f99('0x1a')]();});}};}function handleEntityNotFound(_0x4e8b46,_0x427e7d){return function(_0x3cf974){if(!_0x3cf974){_0x4e8b46[_0x3f99('0x18')](0x194);}return _0x3cf974;};}function handleError(_0x3dbfa0,_0x4873d0){_0x4873d0=_0x4873d0||0x1f4;return function(_0xad01d3){logger['error'](_0xad01d3[_0x3f99('0x22')]);if(_0xad01d3[_0x3f99('0x23')]){delete _0xad01d3['name'];}_0x3dbfa0['status'](_0x4873d0)['send'](_0xad01d3);};}exports[_0x3f99('0x24')]=function(_0x44a3eb,_0x14d6fd){var _0xd7c04e={},_0x594aa={},_0x5c03b0={'count':0x0,'rows':[]};var _0x2eeaac=_['map'](db['SquareRecording']['rawAttributes'],function(_0x2bc9e4){return{'name':_0x2bc9e4[_0x3f99('0x25')],'type':_0x2bc9e4[_0x3f99('0x26')][_0x3f99('0x27')]};});_0x594aa[_0x3f99('0x28')]=_[_0x3f99('0x29')](_0x2eeaac,_0x3f99('0x23'));_0x594aa[_0x3f99('0x2a')]=_[_0x3f99('0x2b')](_0x44a3eb[_0x3f99('0x2a')]);_0x594aa[_0x3f99('0x2c')]=_[_0x3f99('0x2d')](_0x594aa[_0x3f99('0x28')],_0x594aa['query']);_0xd7c04e[_0x3f99('0x2e')]=_['intersection'](_0x594aa['model'],qs[_0x3f99('0x2f')](_0x44a3eb['query'][_0x3f99('0x2f')]));_0xd7c04e[_0x3f99('0x2e')]=_0xd7c04e[_0x3f99('0x2e')][_0x3f99('0x30')]?_0xd7c04e[_0x3f99('0x2e')]:_0x594aa[_0x3f99('0x28')];if(!_0x44a3eb['query'][_0x3f99('0x31')](_0x3f99('0x32'))){_0xd7c04e[_0x3f99('0x33')]=qs[_0x3f99('0x33')](_0x44a3eb[_0x3f99('0x2a')][_0x3f99('0x33')]);_0xd7c04e[_0x3f99('0x1c')]=qs[_0x3f99('0x1c')](_0x44a3eb['query'][_0x3f99('0x1c')]);}_0xd7c04e[_0x3f99('0x34')]=qs[_0x3f99('0x35')](_0x44a3eb['query']['sort']);_0xd7c04e[_0x3f99('0x36')]=qs[_0x3f99('0x2c')](_[_0x3f99('0x37')](_0x44a3eb[_0x3f99('0x2a')],_0x594aa[_0x3f99('0x2c')]),_0x2eeaac);if(_0x44a3eb['query']['filter']){_0xd7c04e[_0x3f99('0x36')]=_[_0x3f99('0x38')](_0xd7c04e[_0x3f99('0x36')],{'$or':_[_0x3f99('0x29')](_0x2eeaac,function(_0x3f1c3b){if(_0x3f1c3b[_0x3f99('0x26')]!==_0x3f99('0x39')){var _0x12a1b3={};_0x12a1b3[_0x3f1c3b[_0x3f99('0x23')]]={'$like':'%'+_0x44a3eb[_0x3f99('0x2a')]['filter']+'%'};return _0x12a1b3;}})});}_0xd7c04e=_[_0x3f99('0x38')]({},_0xd7c04e,_0x44a3eb[_0x3f99('0x3a')]);var _0xf4636={'where':_0xd7c04e[_0x3f99('0x36')]};return db[_0x3f99('0x3b')]['count'](_0xf4636)[_0x3f99('0x21')](function(_0x46592e){_0x5c03b0[_0x3f99('0x3c')]=_0x46592e;if(_0x44a3eb[_0x3f99('0x2a')][_0x3f99('0x3d')]){_0xd7c04e[_0x3f99('0x3e')]=[{'all':!![]}];}return db['SquareRecording']['findAll'](_0xd7c04e);})[_0x3f99('0x21')](function(_0x1ac542){_0x5c03b0['rows']=_0x1ac542;return _0x5c03b0;})['then'](respondWithFilteredResult(_0x14d6fd,_0xd7c04e))['catch'](handleError(_0x14d6fd,null));};exports[_0x3f99('0x3f')]=function(_0x33b291,_0x2a6d7a){var _0x591978={'raw':!![],'where':{'id':_0x33b291[_0x3f99('0x40')]['id']}},_0x1f2ddc={};_0x1f2ddc['model']=_['keys'](db[_0x3f99('0x3b')]['rawAttributes']);_0x1f2ddc[_0x3f99('0x2a')]=_[_0x3f99('0x2b')](_0x33b291[_0x3f99('0x2a')]);_0x1f2ddc['filters']=_[_0x3f99('0x2d')](_0x1f2ddc['model'],_0x1f2ddc[_0x3f99('0x2a')]);_0x591978[_0x3f99('0x2e')]=_['intersection'](_0x1f2ddc[_0x3f99('0x28')],qs[_0x3f99('0x2f')](_0x33b291[_0x3f99('0x2a')][_0x3f99('0x2f')]));_0x591978[_0x3f99('0x2e')]=_0x591978[_0x3f99('0x2e')][_0x3f99('0x30')]?_0x591978[_0x3f99('0x2e')]:_0x1f2ddc[_0x3f99('0x28')];if(_0x33b291[_0x3f99('0x2a')][_0x3f99('0x3d')]){_0x591978['include']=[{'all':!![]}];}_0x591978=_['merge']({},_0x591978,_0x33b291[_0x3f99('0x3a')]);return db[_0x3f99('0x3b')][_0x3f99('0x41')](_0x591978)[_0x3f99('0x21')](handleEntityNotFound(_0x2a6d7a,null))['then'](respondWithResult(_0x2a6d7a,null))[_0x3f99('0x42')](handleError(_0x2a6d7a,null));};exports['create']=function(_0x11e5e3,_0x260bb5){return db[_0x3f99('0x3b')]['create'](_0x11e5e3[_0x3f99('0x43')],{})['then'](respondWithResult(_0x260bb5,0xc9))['catch'](handleError(_0x260bb5,null));};exports['update']=function(_0x151e0e,_0xc4bd35){if(_0x151e0e[_0x3f99('0x43')]['id']){delete _0x151e0e['body']['id'];}return db[_0x3f99('0x3b')]['find']({'where':{'id':_0x151e0e[_0x3f99('0x40')]['id']}})[_0x3f99('0x21')](handleEntityNotFound(_0xc4bd35,null))[_0x3f99('0x21')](saveUpdates(_0x151e0e[_0x3f99('0x43')],null))[_0x3f99('0x21')](respondWithResult(_0xc4bd35,null))[_0x3f99('0x42')](handleError(_0xc4bd35,null));};exports[_0x3f99('0x44')]=function(_0xa9d27,_0x50fe4d,_0x40a3a5){var _0x425127=require(_0x3f99('0x45'));var _0xfba9a7=![];var _0x4da5f2={};if(_0xa9d27[_0x3f99('0x2a')][_0x3f99('0x26')]&&_0xa9d27[_0x3f99('0x2a')][_0x3f99('0x26')]==='uniqueid'){_0x4da5f2['uniqueid']=_0xa9d27[_0x3f99('0x40')]['id'];}else{_0x4da5f2['id']=_0xa9d27[_0x3f99('0x40')]['id'];}return db[_0x3f99('0x3b')]['find']({'where':_0x4da5f2,'attributes':['id',_0x3f99('0x46'),'filename'],'raw':!![]})['then'](handleEntityNotFound(_0x50fe4d,null))[_0x3f99('0x21')](function(_0x287339){if(_0x287339){var _0x403e40=_0x287339['savePath'];var _0x231c10=util[_0x3f99('0x47')](_0x3f99('0x48'),_0x403e40);if(fs['existsSync'](_0x231c10)){_0xfba9a7=!![];return _0x425127[_0x3f99('0x49')](_0x231c10,_0x403e40,config[_0x3f99('0x4a')]['recording'])['then'](function(){return _0x287339;});}return _0x287339;}})[_0x3f99('0x21')](function(_0xbc7c65){if(_0xbc7c65){var _0x4a1ba6=_0xbc7c65['savePath'];if(!fs['existsSync'](_0x4a1ba6)){throw new db[(_0x3f99('0x4b'))][(_0x3f99('0x4c'))](_0x3f99('0x4d'));}if(_0xbc7c65['filename']){return _0x50fe4d[_0x3f99('0x44')](_0x4a1ba6,_0xbc7c65[_0x3f99('0x4e')]+path[_0x3f99('0x4f')](_0x4a1ba6),function(){if(_0xfba9a7){fs[_0x3f99('0x50')](_0x4a1ba6);}});}else{return _0x50fe4d[_0x3f99('0x44')](_0x4a1ba6,function(_0x5b197c){if(_0xfba9a7){fs[_0x3f99('0x50')](_0x4a1ba6);}});}}})[_0x3f99('0x42')](function(_0x889cf1){if(_0x889cf1[_0x3f99('0x51')]==='SquareRecording\x20not\x20found'){_0x50fe4d[_0x3f99('0x19')](0x194)[_0x3f99('0x52')]('Not\x20found');}else{return handleError(_0x50fe4d,null);}});};exports[_0x3f99('0x53')]=function(_0x12d0c3,_0x2bb737){return db[_0x3f99('0x3b')][_0x3f99('0x41')]({'where':{'id':_0x12d0c3[_0x3f99('0x40')]['id']}})[_0x3f99('0x21')](function(_0x18cf7f){if(!_0x18cf7f)throw new ReferenceError('Entity\x20not\x20found');return _0x18cf7f;})['then'](function(_0x116a76){var _0x22193f=_0x116a76[_0x3f99('0x46')];logger[_0x3f99('0x54')](_0x3f99('0x55'),_0x22193f);if(!_[_0x3f99('0x56')](_0x116a76[_0x3f99('0x46')])&&fs['existsSync'](_0x22193f)){logger[_0x3f99('0x54')](_0x3f99('0x57')+_0x22193f+_0x3f99('0x58'));fs['unlinkSync'](_0x22193f);}_0x22193f=_0x22193f+_0x3f99('0x59');if(!_[_0x3f99('0x56')](_0x116a76[_0x3f99('0x46')])&&fs[_0x3f99('0x5a')](_0x22193f)){logger[_0x3f99('0x54')](_0x3f99('0x57')+_0x22193f+_0x3f99('0x58'));fs[_0x3f99('0x5b')](_0x22193f);}return _0x116a76;})[_0x3f99('0x21')](function(_0x5118f6){if(!_0x5118f6)throw new InternalError();return _0x5118f6[_0x3f99('0x53')]();})['then'](function(){_0x2bb737[_0x3f99('0x19')](0xcc)[_0x3f99('0x1a')]();})[_0x3f99('0x42')](handleError(_0x2bb737,null));};