Built motion from commit (unavailable).|2.5.6
[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 _0x3732=['show','params','find','create','catch','update','body','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','recording','Sequelize','SquareRecording\x20not\x20found','download','extname','unlink','Not\x20found','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','isNil','unlinkSync','html-pdf','rimraf','fast-json-patch','request-promise','moment','mustache','sox','to-csv','lodash','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','then','destroy','error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll'];(function(_0x962edb,_0x5dd356){var _0x359dcf=function(_0x978f40){while(--_0x978f40){_0x962edb['push'](_0x962edb['shift']());}};_0x359dcf(++_0x5dd356);}(_0x3732,0x12d));var _0x2373=function(_0x4f07ca,_0x5f2475){_0x4f07ca=_0x4f07ca-0x0;var _0x2d840f=_0x3732[_0x4f07ca];return _0x2d840f;};'use strict';var pdf=require(_0x2373('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x2373('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2373('0x2'));var rp=require(_0x2373('0x3'));var moment=require(_0x2373('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2373('0x5'));var util=require('util');var path=require('path');var sox=require(_0x2373('0x6'));var csv=require(_0x2373('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x2373('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2373('0x9'));var deskjs=require(_0x2373('0xa'));var toCsv=require(_0x2373('0x7'));var querystring=require(_0x2373('0xb'));var Papa=require('papaparse');var Redis=require(_0x2373('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2373('0xd'));var hardwareService=require(_0x2373('0xe'));var logger=require(_0x2373('0xf'))('api');var utils=require(_0x2373('0x10'));var config=require(_0x2373('0x11'));var licenseUtil=require(_0x2373('0x12'));var db=require(_0x2373('0x13'))['db'];function respondWithStatusCode(_0x32784c,_0x1261e4){_0x1261e4=_0x1261e4||0xcc;return function(_0x4f62c7){if(_0x4f62c7){return _0x32784c[_0x2373('0x14')](_0x1261e4);}return _0x32784c[_0x2373('0x15')](_0x1261e4)[_0x2373('0x16')]();};}function respondWithResult(_0x2df959,_0x1e7b4e){_0x1e7b4e=_0x1e7b4e||0xc8;return function(_0x1ac21e){if(_0x1ac21e){return _0x2df959[_0x2373('0x15')](_0x1e7b4e)[_0x2373('0x17')](_0x1ac21e);}};}function respondWithFilteredResult(_0x4b1f7c,_0x20cb74){return function(_0x494ed7){if(_0x494ed7){var _0x5c88cd=_0x494ed7[_0x2373('0x18')],_0x14cba0=_0x20cb74[_0x2373('0x19')],_0x1f1f94=_0x20cb74[_0x2373('0x19')]+_0x20cb74[_0x2373('0x1a')],_0x103ff0;if(_0x1f1f94>=_0x5c88cd){_0x1f1f94=_0x5c88cd;_0x103ff0=0xc8;}else{_0x103ff0=0xce;}_0x4b1f7c[_0x2373('0x15')](_0x103ff0);return _0x4b1f7c[_0x2373('0x1b')]('Content-Range',_0x14cba0+'-'+_0x1f1f94+'/'+_0x5c88cd)['json'](_0x494ed7);}return null;};}function patchUpdates(_0x274745){return function(_0x2bce1b){try{jsonpatch[_0x2373('0x1c')](_0x2bce1b,_0x274745,!![]);}catch(_0x5157f9){return BPromise[_0x2373('0x1d')](_0x5157f9);}return _0x2bce1b['save']();};}function saveUpdates(_0x563071,_0x7a797f){return function(_0x5b2ae9){if(_0x5b2ae9){return _0x5b2ae9['update'](_0x563071)[_0x2373('0x1e')](function(_0x100102){return _0x100102;});}return null;};}function removeEntity(_0x1b41a5,_0x5c1238){return function(_0x3ebb02){if(_0x3ebb02){return _0x3ebb02[_0x2373('0x1f')]()[_0x2373('0x1e')](function(){_0x1b41a5[_0x2373('0x15')](0xcc)[_0x2373('0x16')]();});}};}function handleEntityNotFound(_0x502bf1,_0xce4e41){return function(_0x5109ff){if(!_0x5109ff){_0x502bf1[_0x2373('0x14')](0x194);}return _0x5109ff;};}function handleError(_0x4e859d,_0x50203c){_0x50203c=_0x50203c||0x1f4;return function(_0x157030){logger[_0x2373('0x20')](_0x157030[_0x2373('0x21')]);if(_0x157030[_0x2373('0x22')]){delete _0x157030['name'];}_0x4e859d[_0x2373('0x15')](_0x50203c)[_0x2373('0x23')](_0x157030);};}exports[_0x2373('0x24')]=function(_0x16fe11,_0xaa5182){var _0x37f764={},_0x289887={},_0x5dd429={'count':0x0,'rows':[]};var _0x25b212=_[_0x2373('0x25')](db[_0x2373('0x26')][_0x2373('0x27')],function(_0x1a5ca2){return{'name':_0x1a5ca2[_0x2373('0x28')],'type':_0x1a5ca2[_0x2373('0x29')][_0x2373('0x2a')]};});_0x289887[_0x2373('0x2b')]=_[_0x2373('0x25')](_0x25b212,'name');_0x289887['query']=_[_0x2373('0x2c')](_0x16fe11[_0x2373('0x2d')]);_0x289887[_0x2373('0x2e')]=_[_0x2373('0x2f')](_0x289887['model'],_0x289887['query']);_0x37f764[_0x2373('0x30')]=_['intersection'](_0x289887[_0x2373('0x2b')],qs[_0x2373('0x31')](_0x16fe11['query'][_0x2373('0x31')]));_0x37f764[_0x2373('0x30')]=_0x37f764[_0x2373('0x30')][_0x2373('0x32')]?_0x37f764[_0x2373('0x30')]:_0x289887[_0x2373('0x2b')];if(!_0x16fe11[_0x2373('0x2d')][_0x2373('0x33')](_0x2373('0x34'))){_0x37f764[_0x2373('0x1a')]=qs[_0x2373('0x1a')](_0x16fe11[_0x2373('0x2d')][_0x2373('0x1a')]);_0x37f764[_0x2373('0x19')]=qs[_0x2373('0x19')](_0x16fe11[_0x2373('0x2d')][_0x2373('0x19')]);}_0x37f764[_0x2373('0x35')]=qs[_0x2373('0x36')](_0x16fe11['query'][_0x2373('0x36')]);_0x37f764[_0x2373('0x37')]=qs['filters'](_['pick'](_0x16fe11['query'],_0x289887['filters']),_0x25b212);if(_0x16fe11[_0x2373('0x2d')][_0x2373('0x38')]){_0x37f764['where']=_[_0x2373('0x39')](_0x37f764[_0x2373('0x37')],{'$or':_[_0x2373('0x25')](_0x25b212,function(_0x1a554d){if(_0x1a554d[_0x2373('0x29')]!==_0x2373('0x3a')){var _0x4e1cf1={};_0x4e1cf1[_0x1a554d[_0x2373('0x22')]]={'$like':'%'+_0x16fe11[_0x2373('0x2d')][_0x2373('0x38')]+'%'};return _0x4e1cf1;}})});}_0x37f764=_[_0x2373('0x39')]({},_0x37f764,_0x16fe11[_0x2373('0x3b')]);var _0x2438f7={'where':_0x37f764['where']};return db[_0x2373('0x26')]['count'](_0x2438f7)[_0x2373('0x1e')](function(_0x55c48b){_0x5dd429['count']=_0x55c48b;if(_0x16fe11['query'][_0x2373('0x3c')]){_0x37f764[_0x2373('0x3d')]=[{'all':!![]}];}return db[_0x2373('0x26')][_0x2373('0x3e')](_0x37f764);})[_0x2373('0x1e')](function(_0xa8598){_0x5dd429['rows']=_0xa8598;return _0x5dd429;})[_0x2373('0x1e')](respondWithFilteredResult(_0xaa5182,_0x37f764))['catch'](handleError(_0xaa5182,null));};exports[_0x2373('0x3f')]=function(_0x54e52d,_0x16b27e){var _0x1632d6={'raw':!![],'where':{'id':_0x54e52d[_0x2373('0x40')]['id']}},_0x25de14={};_0x25de14['model']=_[_0x2373('0x2c')](db[_0x2373('0x26')][_0x2373('0x27')]);_0x25de14['query']=_[_0x2373('0x2c')](_0x54e52d[_0x2373('0x2d')]);_0x25de14[_0x2373('0x2e')]=_[_0x2373('0x2f')](_0x25de14['model'],_0x25de14['query']);_0x1632d6[_0x2373('0x30')]=_[_0x2373('0x2f')](_0x25de14[_0x2373('0x2b')],qs[_0x2373('0x31')](_0x54e52d[_0x2373('0x2d')][_0x2373('0x31')]));_0x1632d6[_0x2373('0x30')]=_0x1632d6[_0x2373('0x30')][_0x2373('0x32')]?_0x1632d6[_0x2373('0x30')]:_0x25de14[_0x2373('0x2b')];if(_0x54e52d[_0x2373('0x2d')]['includeAll']){_0x1632d6[_0x2373('0x3d')]=[{'all':!![]}];}_0x1632d6=_[_0x2373('0x39')]({},_0x1632d6,_0x54e52d['options']);return db[_0x2373('0x26')][_0x2373('0x41')](_0x1632d6)[_0x2373('0x1e')](handleEntityNotFound(_0x16b27e,null))[_0x2373('0x1e')](respondWithResult(_0x16b27e,null))['catch'](handleError(_0x16b27e,null));};exports[_0x2373('0x42')]=function(_0x4a18db,_0x1aec0b){return db['SquareRecording'][_0x2373('0x42')](_0x4a18db['body'],{})[_0x2373('0x1e')](respondWithResult(_0x1aec0b,0xc9))[_0x2373('0x43')](handleError(_0x1aec0b,null));};exports[_0x2373('0x44')]=function(_0x3c6310,_0x348b19){if(_0x3c6310['body']['id']){delete _0x3c6310['body']['id'];}return db['SquareRecording'][_0x2373('0x41')]({'where':{'id':_0x3c6310[_0x2373('0x40')]['id']}})[_0x2373('0x1e')](handleEntityNotFound(_0x348b19,null))[_0x2373('0x1e')](saveUpdates(_0x3c6310[_0x2373('0x45')],null))[_0x2373('0x1e')](respondWithResult(_0x348b19,null))[_0x2373('0x43')](handleError(_0x348b19,null));};exports['download']=function(_0x25f24d,_0x3397e2,_0x178270){var _0x2d6d65=require(_0x2373('0x46'));var _0x4cf601=![];var _0x9ff4f7={};if(_0x25f24d[_0x2373('0x2d')][_0x2373('0x29')]&&_0x25f24d['query']['type']===_0x2373('0x47')){_0x9ff4f7[_0x2373('0x47')]=_0x25f24d[_0x2373('0x40')]['id'];}else{_0x9ff4f7['id']=_0x25f24d[_0x2373('0x40')]['id'];}return db['SquareRecording'][_0x2373('0x41')]({'where':_0x9ff4f7,'attributes':['id',_0x2373('0x48'),_0x2373('0x49')],'raw':!![]})['then'](handleEntityNotFound(_0x3397e2,null))[_0x2373('0x1e')](function(_0x155da8){if(_0x155da8){var _0x9e5525=_0x155da8[_0x2373('0x48')];var _0x2bd9c8=util[_0x2373('0x4a')](_0x2373('0x4b'),_0x9e5525);if(fs[_0x2373('0x4c')](_0x2bd9c8)){_0x4cf601=!![];return _0x2d6d65[_0x2373('0x4d')](_0x2bd9c8,_0x9e5525,config['secrets'][_0x2373('0x4e')])[_0x2373('0x1e')](function(){return _0x155da8;});}return _0x155da8;}})[_0x2373('0x1e')](function(_0xda441e){if(_0xda441e){var _0x47353e=_0xda441e['savePath'];if(!fs[_0x2373('0x4c')](_0x47353e)){throw new db[(_0x2373('0x4f'))]['ValidationError'](_0x2373('0x50'));}if(_0xda441e[_0x2373('0x49')]){return _0x3397e2[_0x2373('0x51')](_0x47353e,_0xda441e['filename']+path[_0x2373('0x52')](_0x47353e),function(){if(_0x4cf601){fs['unlink'](_0x47353e);}});}else{return _0x3397e2['download'](_0x47353e,function(_0x5b8b20){if(_0x4cf601){fs[_0x2373('0x53')](_0x47353e);}});}}})['catch'](function(_0x437626){if(_0x437626['message']===_0x2373('0x50')){_0x3397e2[_0x2373('0x15')](0x194)[_0x2373('0x23')](_0x2373('0x54'));}else{return handleError(_0x3397e2,null);}});};exports['destroy']=function(_0x5e9e60,_0x2eff0d){return db[_0x2373('0x26')][_0x2373('0x41')]({'where':{'id':_0x5e9e60['params']['id']}})[_0x2373('0x1e')](function(_0x5b6a02){if(!_0x5b6a02)throw new ReferenceError(_0x2373('0x55'));return _0x5b6a02;})[_0x2373('0x1e')](function(_0x2c2837){var _0x286a3b=_0x2c2837['savePath'];logger[_0x2373('0x56')]('cancellazione\x20fisica\x20documento\x20%s',_0x286a3b);if(!_['isNil'](_0x2c2837['savePath'])&&fs[_0x2373('0x4c')](_0x286a3b)){logger[_0x2373('0x56')](_0x2373('0x57')+_0x286a3b+_0x2373('0x58'));fs['unlinkSync'](_0x286a3b);}_0x286a3b=_0x286a3b+'.cypher';if(!_[_0x2373('0x59')](_0x2c2837[_0x2373('0x48')])&&fs[_0x2373('0x4c')](_0x286a3b)){logger[_0x2373('0x56')](_0x2373('0x57')+_0x286a3b+_0x2373('0x58'));fs[_0x2373('0x5a')](_0x286a3b);}return _0x2c2837;})[_0x2373('0x1e')](function(_0x1b6535){if(!_0x1b6535)throw new InternalError();return _0x1b6535[_0x2373('0x1f')]();})['then'](function(){_0x2eff0d['status'](0xcc)[_0x2373('0x16')]();})[_0x2373('0x43')](handleError(_0x2eff0d,null));};