Built motion from commit 4a17b4ed.|2.6.17
[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 _0x04c2=['name','send','map','SquareRecording','rawAttributes','fieldName','model','query','filters','attributes','intersection','fields','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','params','keys','length','find','create','body','../../components/encryptor','uniqueid','savePath','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','filename','download','extname','unlink','message','SquareRecording\x20not\x20found','Not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','unlinkSync','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','update','destroy','error','stack'];(function(_0x4a7e76,_0x4a8460){var _0xeb720=function(_0x395a3c){while(--_0x395a3c){_0x4a7e76['push'](_0x4a7e76['shift']());}};_0xeb720(++_0x4a8460);}(_0x04c2,0x15d));var _0x204c=function(_0x4ce02e,_0x4486a9){_0x4ce02e=_0x4ce02e-0x0;var _0x4aab50=_0x04c2[_0x4ce02e];return _0x4aab50;};'use strict';var emlformat=require(_0x204c('0x0'));var rimraf=require(_0x204c('0x1'));var zipdir=require(_0x204c('0x2'));var jsonpatch=require(_0x204c('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x204c('0x4'));var Mustache=require(_0x204c('0x5'));var util=require(_0x204c('0x6'));var path=require(_0x204c('0x7'));var sox=require(_0x204c('0x8'));var csv=require(_0x204c('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x204c('0xa'));var _=require(_0x204c('0xb'));var squel=require('squel');var crypto=require(_0x204c('0xc'));var jsforce=require(_0x204c('0xd'));var deskjs=require(_0x204c('0xe'));var toCsv=require('to-csv');var querystring=require(_0x204c('0xf'));var Papa=require(_0x204c('0x10'));var Redis=require('ioredis');var authService=require(_0x204c('0x11'));var qs=require(_0x204c('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x204c('0x13'));var logger=require(_0x204c('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x204c('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x204c('0x16'))['db'];function respondWithStatusCode(_0x463cf8,_0x354fd6){_0x354fd6=_0x354fd6||0xcc;return function(_0x33e91b){if(_0x33e91b){return _0x463cf8[_0x204c('0x17')](_0x354fd6);}return _0x463cf8[_0x204c('0x18')](_0x354fd6)[_0x204c('0x19')]();};}function respondWithResult(_0x1c99e8,_0x371171){_0x371171=_0x371171||0xc8;return function(_0x6fabd6){if(_0x6fabd6){return _0x1c99e8[_0x204c('0x18')](_0x371171)['json'](_0x6fabd6);}};}function respondWithFilteredResult(_0x42ff79,_0xf8327){return function(_0xaf4bbd){if(_0xaf4bbd){var _0x2e7868=typeof _0xf8327[_0x204c('0x1a')]===_0x204c('0x1b')&&typeof _0xf8327[_0x204c('0x1c')]==='undefined';var _0x48a01c=_0xaf4bbd[_0x204c('0x1d')];var _0x5cc41f=_0x2e7868?0x0:_0xf8327['offset'];var _0x43bf21=_0x2e7868?_0xaf4bbd['count']:_0xf8327[_0x204c('0x1a')]+_0xf8327[_0x204c('0x1c')];var _0x1a596f;if(_0x43bf21>=_0x48a01c){_0x43bf21=_0x48a01c;_0x1a596f=0xc8;}else{_0x1a596f=0xce;}_0x42ff79[_0x204c('0x18')](_0x1a596f);return _0x42ff79[_0x204c('0x1e')](_0x204c('0x1f'),_0x5cc41f+'-'+_0x43bf21+'/'+_0x48a01c)[_0x204c('0x20')](_0xaf4bbd);}return null;};}function patchUpdates(_0x5de342){return function(_0x2b1b62){try{jsonpatch[_0x204c('0x21')](_0x2b1b62,_0x5de342,!![]);}catch(_0x1fe84a){return BPromise[_0x204c('0x22')](_0x1fe84a);}return _0x2b1b62['save']();};}function saveUpdates(_0x33943d,_0x280ad7){return function(_0x463a05){if(_0x463a05){return _0x463a05[_0x204c('0x23')](_0x33943d)['then'](function(_0x560e9c){return _0x560e9c;});}return null;};}function removeEntity(_0x488ade,_0xddd71b){return function(_0x878892){if(_0x878892){return _0x878892[_0x204c('0x24')]()['then'](function(){_0x488ade['status'](0xcc)[_0x204c('0x19')]();});}};}function handleEntityNotFound(_0x2cd8d7,_0x44b437){return function(_0x3cc6f6){if(!_0x3cc6f6){_0x2cd8d7[_0x204c('0x17')](0x194);}return _0x3cc6f6;};}function handleError(_0x32dd3d,_0xf81434){_0xf81434=_0xf81434||0x1f4;return function(_0x1c1865){logger[_0x204c('0x25')](_0x1c1865[_0x204c('0x26')]);if(_0x1c1865[_0x204c('0x27')]){delete _0x1c1865['name'];}_0x32dd3d['status'](_0xf81434)[_0x204c('0x28')](_0x1c1865);};}exports['index']=function(_0x15d146,_0x1627cd){var _0x497332={},_0xf92fb1={},_0x3d79b8={'count':0x0,'rows':[]};var _0x561e04=_[_0x204c('0x29')](db[_0x204c('0x2a')][_0x204c('0x2b')],function(_0x450d62){return{'name':_0x450d62[_0x204c('0x2c')],'type':_0x450d62['type']['key']};});_0xf92fb1[_0x204c('0x2d')]=_['map'](_0x561e04,'name');_0xf92fb1[_0x204c('0x2e')]=_['keys'](_0x15d146[_0x204c('0x2e')]);_0xf92fb1[_0x204c('0x2f')]=_['intersection'](_0xf92fb1[_0x204c('0x2d')],_0xf92fb1[_0x204c('0x2e')]);_0x497332[_0x204c('0x30')]=_[_0x204c('0x31')](_0xf92fb1[_0x204c('0x2d')],qs[_0x204c('0x32')](_0x15d146[_0x204c('0x2e')]['fields']));_0x497332[_0x204c('0x30')]=_0x497332[_0x204c('0x30')]['length']?_0x497332[_0x204c('0x30')]:_0xf92fb1[_0x204c('0x2d')];if(!_0x15d146[_0x204c('0x2e')]['hasOwnProperty'](_0x204c('0x33'))){_0x497332[_0x204c('0x1c')]=qs[_0x204c('0x1c')](_0x15d146['query'][_0x204c('0x1c')]);_0x497332['offset']=qs[_0x204c('0x1a')](_0x15d146[_0x204c('0x2e')][_0x204c('0x1a')]);}_0x497332[_0x204c('0x34')]=qs['sort'](_0x15d146[_0x204c('0x2e')][_0x204c('0x35')]);_0x497332[_0x204c('0x36')]=qs['filters'](_[_0x204c('0x37')](_0x15d146['query'],_0xf92fb1[_0x204c('0x2f')]),_0x561e04);if(_0x15d146[_0x204c('0x2e')][_0x204c('0x38')]){_0x497332[_0x204c('0x36')]=_[_0x204c('0x39')](_0x497332['where'],{'$or':_[_0x204c('0x29')](_0x561e04,function(_0x1868d2){if(_0x1868d2[_0x204c('0x3a')]!==_0x204c('0x3b')){var _0x52a3c5={};_0x52a3c5[_0x1868d2['name']]={'$like':'%'+_0x15d146[_0x204c('0x2e')][_0x204c('0x38')]+'%'};return _0x52a3c5;}})});}_0x497332=_['merge']({},_0x497332,_0x15d146[_0x204c('0x3c')]);var _0x49bed4={'where':_0x497332[_0x204c('0x36')]};return db[_0x204c('0x2a')][_0x204c('0x1d')](_0x49bed4)[_0x204c('0x3d')](function(_0x6bd6d2){_0x3d79b8[_0x204c('0x1d')]=_0x6bd6d2;if(_0x15d146[_0x204c('0x2e')][_0x204c('0x3e')]){_0x497332[_0x204c('0x3f')]=[{'all':!![]}];}return db[_0x204c('0x2a')][_0x204c('0x40')](_0x497332);})['then'](function(_0x101b8f){_0x3d79b8[_0x204c('0x41')]=_0x101b8f;return _0x3d79b8;})[_0x204c('0x3d')](respondWithFilteredResult(_0x1627cd,_0x497332))[_0x204c('0x42')](handleError(_0x1627cd,null));};exports['show']=function(_0x5c1291,_0xf945b9){var _0x52bac2={'raw':!![],'where':{'id':_0x5c1291[_0x204c('0x43')]['id']}},_0x2d031b={};_0x2d031b[_0x204c('0x2d')]=_['keys'](db[_0x204c('0x2a')]['rawAttributes']);_0x2d031b[_0x204c('0x2e')]=_[_0x204c('0x44')](_0x5c1291['query']);_0x2d031b[_0x204c('0x2f')]=_[_0x204c('0x31')](_0x2d031b[_0x204c('0x2d')],_0x2d031b['query']);_0x52bac2[_0x204c('0x30')]=_[_0x204c('0x31')](_0x2d031b[_0x204c('0x2d')],qs[_0x204c('0x32')](_0x5c1291[_0x204c('0x2e')][_0x204c('0x32')]));_0x52bac2[_0x204c('0x30')]=_0x52bac2['attributes'][_0x204c('0x45')]?_0x52bac2[_0x204c('0x30')]:_0x2d031b['model'];if(_0x5c1291[_0x204c('0x2e')][_0x204c('0x3e')]){_0x52bac2[_0x204c('0x3f')]=[{'all':!![]}];}_0x52bac2=_[_0x204c('0x39')]({},_0x52bac2,_0x5c1291[_0x204c('0x3c')]);return db[_0x204c('0x2a')][_0x204c('0x46')](_0x52bac2)['then'](handleEntityNotFound(_0xf945b9,null))['then'](respondWithResult(_0xf945b9,null))[_0x204c('0x42')](handleError(_0xf945b9,null));};exports['create']=function(_0x494832,_0x860bc7){return db['SquareRecording'][_0x204c('0x47')](_0x494832[_0x204c('0x48')],{})[_0x204c('0x3d')](respondWithResult(_0x860bc7,0xc9))['catch'](handleError(_0x860bc7,null));};exports[_0x204c('0x23')]=function(_0x12f9de,_0xbf2932){if(_0x12f9de[_0x204c('0x48')]['id']){delete _0x12f9de[_0x204c('0x48')]['id'];}return db[_0x204c('0x2a')][_0x204c('0x46')]({'where':{'id':_0x12f9de[_0x204c('0x43')]['id']}})[_0x204c('0x3d')](handleEntityNotFound(_0xbf2932,null))[_0x204c('0x3d')](saveUpdates(_0x12f9de[_0x204c('0x48')],null))[_0x204c('0x3d')](respondWithResult(_0xbf2932,null))[_0x204c('0x42')](handleError(_0xbf2932,null));};exports['download']=function(_0x439cf0,_0xfa2414,_0x3a61ed){var _0x1f5613=require(_0x204c('0x49'));var _0x496b9e=![];var _0x4ac08c={};if(_0x439cf0[_0x204c('0x2e')][_0x204c('0x3a')]&&_0x439cf0[_0x204c('0x2e')][_0x204c('0x3a')]===_0x204c('0x4a')){_0x4ac08c[_0x204c('0x4a')]=_0x439cf0[_0x204c('0x43')]['id'];}else{_0x4ac08c['id']=_0x439cf0[_0x204c('0x43')]['id'];}return db[_0x204c('0x2a')][_0x204c('0x46')]({'where':_0x4ac08c,'attributes':['id',_0x204c('0x4b'),'filename'],'raw':!![]})['then'](handleEntityNotFound(_0xfa2414,null))[_0x204c('0x3d')](function(_0x146088){if(_0x146088){var _0x3cfde9=_0x146088[_0x204c('0x4b')];var _0xf35a43=util['format'](_0x204c('0x4c'),_0x3cfde9);if(fs[_0x204c('0x4d')](_0xf35a43)){_0x496b9e=!![];return _0x1f5613[_0x204c('0x4e')](_0xf35a43,_0x3cfde9,config[_0x204c('0x4f')][_0x204c('0x50')])[_0x204c('0x3d')](function(){return _0x146088;});}return _0x146088;}})[_0x204c('0x3d')](function(_0x52af73){if(_0x52af73){var _0x1841e8=_0x52af73[_0x204c('0x4b')];if(!fs['existsSync'](_0x1841e8)){throw new db[(_0x204c('0x51'))][(_0x204c('0x52'))]('SquareRecording\x20not\x20found');}if(_0x52af73[_0x204c('0x53')]){return _0xfa2414[_0x204c('0x54')](_0x1841e8,_0x52af73[_0x204c('0x53')]+path[_0x204c('0x55')](_0x1841e8),function(){if(_0x496b9e){fs[_0x204c('0x56')](_0x1841e8);}});}else{return _0xfa2414[_0x204c('0x54')](_0x1841e8,function(_0x1d22c2){if(_0x496b9e){fs['unlink'](_0x1841e8);}});}}})[_0x204c('0x42')](function(_0x2c72e7){if(_0x2c72e7[_0x204c('0x57')]===_0x204c('0x58')){_0xfa2414[_0x204c('0x18')](0x194)['send'](_0x204c('0x59'));}else{return handleError(_0xfa2414,null);}});};exports[_0x204c('0x24')]=function(_0x1b9c16,_0x38c87a){return db[_0x204c('0x2a')]['find']({'where':{'id':_0x1b9c16['params']['id']}})[_0x204c('0x3d')](function(_0x3d1f67){if(_[_0x204c('0x5a')](_0x3d1f67)){throw new ReferenceError(_0x204c('0x5b'));}return _0x3d1f67;})[_0x204c('0x3d')](function(_0x29437a){var _0x55002a=_0x29437a[_0x204c('0x4b')];logger[_0x204c('0x5c')](_0x204c('0x5d'),_0x55002a);if(!_[_0x204c('0x5a')](_0x29437a[_0x204c('0x4b')])&&fs[_0x204c('0x4d')](_0x55002a)){logger[_0x204c('0x5c')](_0x204c('0x5e')+_0x55002a+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x204c('0x5f')](_0x55002a);}_0x55002a=_0x55002a+'.cypher';if(!_[_0x204c('0x5a')](_0x29437a['savePath'])&&fs['existsSync'](_0x55002a)){logger[_0x204c('0x5c')]('File:\x20\x22'+_0x55002a+_0x204c('0x60'));fs[_0x204c('0x5f')](_0x55002a);}return _0x29437a;})[_0x204c('0x3d')](function(_0x1be7f3){if(!_0x1be7f3)throw new InternalError();return _0x1be7f3[_0x204c('0x24')]();})[_0x204c('0x3d')](function(){_0x38c87a[_0x204c('0x18')](0xcc)[_0x204c('0x19')]();})[_0x204c('0x42')](handleError(_0x38c87a,null));};