Built motion from commit d5e4af8c.|2.6.23
[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 _0x335c=['format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','extname','unlink','Not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','unlinkSync','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','apply','destroy','then','error','stack','name','send','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','order','sort','where','filter','VIRTUAL','merge','options','SquareRecording','include','findAll','rows','catch','show','params','length','find','create','update','body','download','../../components/encryptor','uniqueid','savePath','filename'];(function(_0x26fad8,_0x1d1bb0){var _0x5aecf7=function(_0x1a9021){while(--_0x1a9021){_0x26fad8['push'](_0x26fad8['shift']());}};_0x5aecf7(++_0x1d1bb0);}(_0x335c,0x129));var _0xc335=function(_0x2fe368,_0x5266a6){_0x2fe368=_0x2fe368-0x0;var _0x416ff3=_0x335c[_0x2fe368];return _0x416ff3;};'use strict';var emlformat=require(_0xc335('0x0'));var rimraf=require(_0xc335('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc335('0x2'));var rp=require(_0xc335('0x3'));var moment=require(_0xc335('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xc335('0x5'));var util=require(_0xc335('0x6'));var path=require(_0xc335('0x7'));var sox=require(_0xc335('0x8'));var csv=require(_0xc335('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc335('0xa'));var _=require(_0xc335('0xb'));var squel=require(_0xc335('0xc'));var crypto=require(_0xc335('0xd'));var jsforce=require(_0xc335('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xc335('0x9'));var querystring=require(_0xc335('0xf'));var Papa=require(_0xc335('0x10'));var Redis=require(_0xc335('0x11'));var authService=require(_0xc335('0x12'));var qs=require(_0xc335('0x13'));var as=require(_0xc335('0x14'));var hardwareService=require(_0xc335('0x15'));var logger=require(_0xc335('0x16'))('api');var utils=require(_0xc335('0x17'));var config=require(_0xc335('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x6c0ded,_0xac5ee2){_0xac5ee2=_0xac5ee2||0xcc;return function(_0x15a5b8){if(_0x15a5b8){return _0x6c0ded[_0xc335('0x19')](_0xac5ee2);}return _0x6c0ded[_0xc335('0x1a')](_0xac5ee2)[_0xc335('0x1b')]();};}function respondWithResult(_0x472747,_0x36f5f4){_0x36f5f4=_0x36f5f4||0xc8;return function(_0x40c785){if(_0x40c785){return _0x472747[_0xc335('0x1a')](_0x36f5f4)[_0xc335('0x1c')](_0x40c785);}};}function respondWithFilteredResult(_0x50038e,_0x2c73f6){return function(_0x3845e8){if(_0x3845e8){var _0x418030=typeof _0x2c73f6['offset']==='undefined'&&typeof _0x2c73f6['limit']==='undefined';var _0x53a747=_0x3845e8[_0xc335('0x1d')];var _0x6f5965=_0x418030?0x0:_0x2c73f6[_0xc335('0x1e')];var _0x3ae4bd=_0x418030?_0x3845e8[_0xc335('0x1d')]:_0x2c73f6['offset']+_0x2c73f6[_0xc335('0x1f')];var _0x49798a;if(_0x3ae4bd>=_0x53a747){_0x3ae4bd=_0x53a747;_0x49798a=0xc8;}else{_0x49798a=0xce;}_0x50038e[_0xc335('0x1a')](_0x49798a);return _0x50038e[_0xc335('0x20')]('Content-Range',_0x6f5965+'-'+_0x3ae4bd+'/'+_0x53a747)[_0xc335('0x1c')](_0x3845e8);}return null;};}function patchUpdates(_0x16791e){return function(_0x4285a2){try{jsonpatch[_0xc335('0x21')](_0x4285a2,_0x16791e,!![]);}catch(_0x573f98){return BPromise['reject'](_0x573f98);}return _0x4285a2['save']();};}function saveUpdates(_0x2b3c6b,_0x47817f){return function(_0xc5b868){if(_0xc5b868){return _0xc5b868['update'](_0x2b3c6b)['then'](function(_0x1c4922){return _0x1c4922;});}return null;};}function removeEntity(_0x1f09d4,_0x3fbc70){return function(_0x3568c7){if(_0x3568c7){return _0x3568c7[_0xc335('0x22')]()[_0xc335('0x23')](function(){_0x1f09d4[_0xc335('0x1a')](0xcc)[_0xc335('0x1b')]();});}};}function handleEntityNotFound(_0x113288,_0x2f3ee2){return function(_0x4a09b3){if(!_0x4a09b3){_0x113288['sendStatus'](0x194);}return _0x4a09b3;};}function handleError(_0x26cc94,_0x49a5b6){_0x49a5b6=_0x49a5b6||0x1f4;return function(_0x2ef4bd){logger[_0xc335('0x24')](_0x2ef4bd[_0xc335('0x25')]);if(_0x2ef4bd[_0xc335('0x26')]){delete _0x2ef4bd['name'];}_0x26cc94[_0xc335('0x1a')](_0x49a5b6)[_0xc335('0x27')](_0x2ef4bd);};}exports['index']=function(_0x2ce8cc,_0x1d9d88){var _0x23f413={},_0x50b4de={},_0x515f68={'count':0x0,'rows':[]};var _0x231f15=_[_0xc335('0x28')](db['SquareRecording'][_0xc335('0x29')],function(_0x183a70){return{'name':_0x183a70[_0xc335('0x2a')],'type':_0x183a70[_0xc335('0x2b')]['key']};});_0x50b4de[_0xc335('0x2c')]=_[_0xc335('0x28')](_0x231f15,'name');_0x50b4de[_0xc335('0x2d')]=_[_0xc335('0x2e')](_0x2ce8cc[_0xc335('0x2d')]);_0x50b4de[_0xc335('0x2f')]=_[_0xc335('0x30')](_0x50b4de[_0xc335('0x2c')],_0x50b4de[_0xc335('0x2d')]);_0x23f413[_0xc335('0x31')]=_[_0xc335('0x30')](_0x50b4de[_0xc335('0x2c')],qs[_0xc335('0x32')](_0x2ce8cc['query'][_0xc335('0x32')]));_0x23f413['attributes']=_0x23f413[_0xc335('0x31')]['length']?_0x23f413[_0xc335('0x31')]:_0x50b4de[_0xc335('0x2c')];if(!_0x2ce8cc[_0xc335('0x2d')]['hasOwnProperty']('nolimit')){_0x23f413['limit']=qs[_0xc335('0x1f')](_0x2ce8cc[_0xc335('0x2d')][_0xc335('0x1f')]);_0x23f413['offset']=qs[_0xc335('0x1e')](_0x2ce8cc['query'][_0xc335('0x1e')]);}_0x23f413[_0xc335('0x33')]=qs[_0xc335('0x34')](_0x2ce8cc[_0xc335('0x2d')]['sort']);_0x23f413[_0xc335('0x35')]=qs[_0xc335('0x2f')](_['pick'](_0x2ce8cc[_0xc335('0x2d')],_0x50b4de['filters']),_0x231f15);if(_0x2ce8cc['query'][_0xc335('0x36')]){_0x23f413['where']=_['merge'](_0x23f413[_0xc335('0x35')],{'$or':_[_0xc335('0x28')](_0x231f15,function(_0x57472f){if(_0x57472f[_0xc335('0x2b')]!==_0xc335('0x37')){var _0x53c1cb={};_0x53c1cb[_0x57472f[_0xc335('0x26')]]={'$like':'%'+_0x2ce8cc['query'][_0xc335('0x36')]+'%'};return _0x53c1cb;}})});}_0x23f413=_[_0xc335('0x38')]({},_0x23f413,_0x2ce8cc[_0xc335('0x39')]);var _0x164d4e={'where':_0x23f413['where']};return db[_0xc335('0x3a')][_0xc335('0x1d')](_0x164d4e)[_0xc335('0x23')](function(_0x459e1b){_0x515f68[_0xc335('0x1d')]=_0x459e1b;if(_0x2ce8cc[_0xc335('0x2d')]['includeAll']){_0x23f413[_0xc335('0x3b')]=[{'all':!![]}];}return db[_0xc335('0x3a')][_0xc335('0x3c')](_0x23f413);})[_0xc335('0x23')](function(_0x123a4d){_0x515f68[_0xc335('0x3d')]=_0x123a4d;return _0x515f68;})[_0xc335('0x23')](respondWithFilteredResult(_0x1d9d88,_0x23f413))[_0xc335('0x3e')](handleError(_0x1d9d88,null));};exports[_0xc335('0x3f')]=function(_0x1cdfcd,_0x11e0c3){var _0x5402af={'raw':!![],'where':{'id':_0x1cdfcd[_0xc335('0x40')]['id']}},_0xda5c9a={};_0xda5c9a['model']=_[_0xc335('0x2e')](db[_0xc335('0x3a')][_0xc335('0x29')]);_0xda5c9a['query']=_[_0xc335('0x2e')](_0x1cdfcd['query']);_0xda5c9a[_0xc335('0x2f')]=_[_0xc335('0x30')](_0xda5c9a[_0xc335('0x2c')],_0xda5c9a['query']);_0x5402af['attributes']=_[_0xc335('0x30')](_0xda5c9a[_0xc335('0x2c')],qs[_0xc335('0x32')](_0x1cdfcd['query'][_0xc335('0x32')]));_0x5402af[_0xc335('0x31')]=_0x5402af[_0xc335('0x31')][_0xc335('0x41')]?_0x5402af['attributes']:_0xda5c9a['model'];if(_0x1cdfcd[_0xc335('0x2d')]['includeAll']){_0x5402af['include']=[{'all':!![]}];}_0x5402af=_[_0xc335('0x38')]({},_0x5402af,_0x1cdfcd[_0xc335('0x39')]);return db['SquareRecording'][_0xc335('0x42')](_0x5402af)[_0xc335('0x23')](handleEntityNotFound(_0x11e0c3,null))[_0xc335('0x23')](respondWithResult(_0x11e0c3,null))[_0xc335('0x3e')](handleError(_0x11e0c3,null));};exports[_0xc335('0x43')]=function(_0x3e9857,_0x4b3d1f){return db[_0xc335('0x3a')][_0xc335('0x43')](_0x3e9857['body'],{})[_0xc335('0x23')](respondWithResult(_0x4b3d1f,0xc9))[_0xc335('0x3e')](handleError(_0x4b3d1f,null));};exports[_0xc335('0x44')]=function(_0x13fd66,_0x21a599){if(_0x13fd66[_0xc335('0x45')]['id']){delete _0x13fd66[_0xc335('0x45')]['id'];}return db[_0xc335('0x3a')][_0xc335('0x42')]({'where':{'id':_0x13fd66[_0xc335('0x40')]['id']}})['then'](handleEntityNotFound(_0x21a599,null))[_0xc335('0x23')](saveUpdates(_0x13fd66['body'],null))['then'](respondWithResult(_0x21a599,null))[_0xc335('0x3e')](handleError(_0x21a599,null));};exports[_0xc335('0x46')]=function(_0x29d672,_0x15fb92,_0x4c18cc){var _0x1da661=require(_0xc335('0x47'));var _0x54f437=![];var _0x38df47={};if(_0x29d672[_0xc335('0x2d')][_0xc335('0x2b')]&&_0x29d672[_0xc335('0x2d')][_0xc335('0x2b')]===_0xc335('0x48')){_0x38df47[_0xc335('0x48')]=_0x29d672[_0xc335('0x40')]['id'];}else{_0x38df47['id']=_0x29d672[_0xc335('0x40')]['id'];}return db[_0xc335('0x3a')][_0xc335('0x42')]({'where':_0x38df47,'attributes':['id',_0xc335('0x49'),_0xc335('0x4a')],'raw':!![]})[_0xc335('0x23')](handleEntityNotFound(_0x15fb92,null))[_0xc335('0x23')](function(_0xd878a){if(_0xd878a){var _0x3aaf00=_0xd878a[_0xc335('0x49')];var _0x39832c=util[_0xc335('0x4b')](_0xc335('0x4c'),_0x3aaf00);if(fs[_0xc335('0x4d')](_0x39832c)){_0x54f437=!![];return _0x1da661[_0xc335('0x4e')](_0x39832c,_0x3aaf00,config[_0xc335('0x4f')][_0xc335('0x50')])[_0xc335('0x23')](function(){return _0xd878a;});}return _0xd878a;}})[_0xc335('0x23')](function(_0x507aa5){if(_0x507aa5){var _0x31dcfc=_0x507aa5[_0xc335('0x49')];if(!fs[_0xc335('0x4d')](_0x31dcfc)){throw new db[(_0xc335('0x51'))][(_0xc335('0x52'))]('SquareRecording\x20not\x20found');}if(_0x507aa5[_0xc335('0x4a')]){return _0x15fb92['download'](_0x31dcfc,_0x507aa5[_0xc335('0x4a')]+path[_0xc335('0x53')](_0x31dcfc),function(){if(_0x54f437){fs['unlink'](_0x31dcfc);}});}else{return _0x15fb92['download'](_0x31dcfc,function(_0x1324bc){if(_0x54f437){fs[_0xc335('0x54')](_0x31dcfc);}});}}})[_0xc335('0x3e')](function(_0x5d424f){if(_0x5d424f['message']==='SquareRecording\x20not\x20found'){_0x15fb92[_0xc335('0x1a')](0x194)['send'](_0xc335('0x55'));}else{return handleError(_0x15fb92,null);}});};exports[_0xc335('0x22')]=function(_0x158112,_0x1dff8f){return db[_0xc335('0x3a')][_0xc335('0x42')]({'where':{'id':_0x158112[_0xc335('0x40')]['id']}})[_0xc335('0x23')](function(_0x4393e1){if(_[_0xc335('0x56')](_0x4393e1)){throw new ReferenceError(_0xc335('0x57'));}return _0x4393e1;})[_0xc335('0x23')](function(_0x211fbf){var _0x16fe80=_0x211fbf[_0xc335('0x49')];logger[_0xc335('0x58')](_0xc335('0x59'),_0x16fe80);if(!_[_0xc335('0x56')](_0x211fbf[_0xc335('0x49')])&&fs[_0xc335('0x4d')](_0x16fe80)){logger[_0xc335('0x58')](_0xc335('0x5a')+_0x16fe80+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xc335('0x5b')](_0x16fe80);}_0x16fe80=_0x16fe80+'.cypher';if(!_[_0xc335('0x56')](_0x211fbf[_0xc335('0x49')])&&fs['existsSync'](_0x16fe80)){logger[_0xc335('0x58')]('File:\x20\x22'+_0x16fe80+_0xc335('0x5c'));fs[_0xc335('0x5b')](_0x16fe80);}return _0x211fbf;})['then'](function(_0x2c50e8){if(!_0x2c50e8)throw new InternalError();return _0x2c50e8['destroy']();})['then'](function(){_0x1dff8f[_0xc335('0x1a')](0xcc)[_0xc335('0x1b')]();})[_0xc335('0x3e')](handleError(_0x1dff8f,null));};