Built motion from commit 25580385.|2.6.2
[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 _0xf01e=['filter','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','fields','find','body','uniqueid','savePath','format','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','download','unlink','message','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','File:\x20\x22','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','offset','undefined','limit','count','json','apply','reject','save','then','destroy','sendStatus','error','stack','name','send','index','map','SquareRecording','rawAttributes','key','query','keys','intersection','model','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filters'];(function(_0x48d6a3,_0x37c848){var _0x38bfa0=function(_0x3fba2e){while(--_0x3fba2e){_0x48d6a3['push'](_0x48d6a3['shift']());}};_0x38bfa0(++_0x37c848);}(_0xf01e,0x89));var _0xef01=function(_0x289891,_0x49a0fa){_0x289891=_0x289891-0x0;var _0x31cf2e=_0xf01e[_0x289891];return _0x31cf2e;};'use strict';var emlformat=require(_0xef01('0x0'));var rimraf=require(_0xef01('0x1'));var zipdir=require(_0xef01('0x2'));var jsonpatch=require(_0xef01('0x3'));var rp=require(_0xef01('0x4'));var moment=require(_0xef01('0x5'));var BPromise=require(_0xef01('0x6'));var Mustache=require(_0xef01('0x7'));var util=require(_0xef01('0x8'));var path=require('path');var sox=require(_0xef01('0x9'));var csv=require(_0xef01('0xa'));var ejs=require(_0xef01('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xef01('0xc'));var squel=require(_0xef01('0xd'));var crypto=require('crypto');var jsforce=require(_0xef01('0xe'));var deskjs=require(_0xef01('0xf'));var toCsv=require('to-csv');var querystring=require(_0xef01('0x10'));var Papa=require(_0xef01('0x11'));var Redis=require(_0xef01('0x12'));var authService=require(_0xef01('0x13'));var qs=require(_0xef01('0x14'));var as=require(_0xef01('0x15'));var hardwareService=require(_0xef01('0x16'));var logger=require(_0xef01('0x17'))(_0xef01('0x18'));var utils=require(_0xef01('0x19'));var config=require(_0xef01('0x1a'));var licenseUtil=require(_0xef01('0x1b'));var db=require(_0xef01('0x1c'))['db'];function respondWithStatusCode(_0x3a8109,_0x4a7f68){_0x4a7f68=_0x4a7f68||0xcc;return function(_0x3378c5){if(_0x3378c5){return _0x3a8109['sendStatus'](_0x4a7f68);}return _0x3a8109[_0xef01('0x1d')](_0x4a7f68)['end']();};}function respondWithResult(_0x29c1fc,_0x123bf6){_0x123bf6=_0x123bf6||0xc8;return function(_0xf3e45e){if(_0xf3e45e){return _0x29c1fc[_0xef01('0x1d')](_0x123bf6)['json'](_0xf3e45e);}};}function respondWithFilteredResult(_0x1dd1f3,_0x53db95){return function(_0x505952){if(_0x505952){var _0x48dae9=typeof _0x53db95[_0xef01('0x1e')]===_0xef01('0x1f')&&typeof _0x53db95[_0xef01('0x20')]==='undefined';var _0x4faf92=_0x505952[_0xef01('0x21')];var _0x2f66e1=_0x48dae9?0x0:_0x53db95[_0xef01('0x1e')];var _0x361ee3=_0x48dae9?_0x505952[_0xef01('0x21')]:_0x53db95[_0xef01('0x1e')]+_0x53db95[_0xef01('0x20')];var _0x1bd949;if(_0x361ee3>=_0x4faf92){_0x361ee3=_0x4faf92;_0x1bd949=0xc8;}else{_0x1bd949=0xce;}_0x1dd1f3[_0xef01('0x1d')](_0x1bd949);return _0x1dd1f3['set']('Content-Range',_0x2f66e1+'-'+_0x361ee3+'/'+_0x4faf92)[_0xef01('0x22')](_0x505952);}return null;};}function patchUpdates(_0x5612ff){return function(_0x5f3553){try{jsonpatch[_0xef01('0x23')](_0x5f3553,_0x5612ff,!![]);}catch(_0x4512a7){return BPromise[_0xef01('0x24')](_0x4512a7);}return _0x5f3553[_0xef01('0x25')]();};}function saveUpdates(_0x3460e2,_0x48534f){return function(_0xb3ee51){if(_0xb3ee51){return _0xb3ee51['update'](_0x3460e2)[_0xef01('0x26')](function(_0xdf96c1){return _0xdf96c1;});}return null;};}function removeEntity(_0x21e247,_0x48db2c){return function(_0x4391b9){if(_0x4391b9){return _0x4391b9[_0xef01('0x27')]()[_0xef01('0x26')](function(){_0x21e247['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xa3ce34,_0x4fb1eb){return function(_0x12d435){if(!_0x12d435){_0xa3ce34[_0xef01('0x28')](0x194);}return _0x12d435;};}function handleError(_0x23d08e,_0x534a7b){_0x534a7b=_0x534a7b||0x1f4;return function(_0x31f253){logger[_0xef01('0x29')](_0x31f253[_0xef01('0x2a')]);if(_0x31f253[_0xef01('0x2b')]){delete _0x31f253[_0xef01('0x2b')];}_0x23d08e[_0xef01('0x1d')](_0x534a7b)[_0xef01('0x2c')](_0x31f253);};}exports[_0xef01('0x2d')]=function(_0x1a857b,_0x4f2366){var _0x33255c={},_0x206fb1={},_0x112e28={'count':0x0,'rows':[]};var _0x4c193e=_[_0xef01('0x2e')](db[_0xef01('0x2f')][_0xef01('0x30')],function(_0x427abd){return{'name':_0x427abd['fieldName'],'type':_0x427abd['type'][_0xef01('0x31')]};});_0x206fb1['model']=_['map'](_0x4c193e,'name');_0x206fb1[_0xef01('0x32')]=_[_0xef01('0x33')](_0x1a857b[_0xef01('0x32')]);_0x206fb1['filters']=_[_0xef01('0x34')](_0x206fb1[_0xef01('0x35')],_0x206fb1['query']);_0x33255c[_0xef01('0x36')]=_[_0xef01('0x34')](_0x206fb1['model'],qs['fields'](_0x1a857b[_0xef01('0x32')]['fields']));_0x33255c[_0xef01('0x36')]=_0x33255c[_0xef01('0x36')][_0xef01('0x37')]?_0x33255c[_0xef01('0x36')]:_0x206fb1[_0xef01('0x35')];if(!_0x1a857b[_0xef01('0x32')][_0xef01('0x38')](_0xef01('0x39'))){_0x33255c[_0xef01('0x20')]=qs['limit'](_0x1a857b[_0xef01('0x32')]['limit']);_0x33255c[_0xef01('0x1e')]=qs[_0xef01('0x1e')](_0x1a857b[_0xef01('0x32')][_0xef01('0x1e')]);}_0x33255c[_0xef01('0x3a')]=qs[_0xef01('0x3b')](_0x1a857b['query'][_0xef01('0x3b')]);_0x33255c[_0xef01('0x3c')]=qs['filters'](_[_0xef01('0x3d')](_0x1a857b[_0xef01('0x32')],_0x206fb1[_0xef01('0x3e')]),_0x4c193e);if(_0x1a857b[_0xef01('0x32')][_0xef01('0x3f')]){_0x33255c[_0xef01('0x3c')]=_['merge'](_0x33255c['where'],{'$or':_[_0xef01('0x2e')](_0x4c193e,function(_0x4d6ea9){if(_0x4d6ea9[_0xef01('0x40')]!==_0xef01('0x41')){var _0xd639df={};_0xd639df[_0x4d6ea9[_0xef01('0x2b')]]={'$like':'%'+_0x1a857b[_0xef01('0x32')][_0xef01('0x3f')]+'%'};return _0xd639df;}})});}_0x33255c=_[_0xef01('0x42')]({},_0x33255c,_0x1a857b[_0xef01('0x43')]);var _0x173e62={'where':_0x33255c[_0xef01('0x3c')]};return db[_0xef01('0x2f')][_0xef01('0x21')](_0x173e62)['then'](function(_0x4c4a9e){_0x112e28[_0xef01('0x21')]=_0x4c4a9e;if(_0x1a857b['query'][_0xef01('0x44')]){_0x33255c[_0xef01('0x45')]=[{'all':!![]}];}return db['SquareRecording'][_0xef01('0x46')](_0x33255c);})['then'](function(_0x2c08fd){_0x112e28[_0xef01('0x47')]=_0x2c08fd;return _0x112e28;})[_0xef01('0x26')](respondWithFilteredResult(_0x4f2366,_0x33255c))[_0xef01('0x48')](handleError(_0x4f2366,null));};exports[_0xef01('0x49')]=function(_0x4e3328,_0x1a3571){var _0x233b4d={'raw':!![],'where':{'id':_0x4e3328[_0xef01('0x4a')]['id']}},_0x5a5521={};_0x5a5521[_0xef01('0x35')]=_[_0xef01('0x33')](db[_0xef01('0x2f')][_0xef01('0x30')]);_0x5a5521['query']=_[_0xef01('0x33')](_0x4e3328[_0xef01('0x32')]);_0x5a5521[_0xef01('0x3e')]=_[_0xef01('0x34')](_0x5a5521[_0xef01('0x35')],_0x5a5521[_0xef01('0x32')]);_0x233b4d[_0xef01('0x36')]=_[_0xef01('0x34')](_0x5a5521[_0xef01('0x35')],qs[_0xef01('0x4b')](_0x4e3328['query'][_0xef01('0x4b')]));_0x233b4d[_0xef01('0x36')]=_0x233b4d[_0xef01('0x36')][_0xef01('0x37')]?_0x233b4d[_0xef01('0x36')]:_0x5a5521[_0xef01('0x35')];if(_0x4e3328[_0xef01('0x32')][_0xef01('0x44')]){_0x233b4d['include']=[{'all':!![]}];}_0x233b4d=_['merge']({},_0x233b4d,_0x4e3328[_0xef01('0x43')]);return db[_0xef01('0x2f')][_0xef01('0x4c')](_0x233b4d)[_0xef01('0x26')](handleEntityNotFound(_0x1a3571,null))['then'](respondWithResult(_0x1a3571,null))[_0xef01('0x48')](handleError(_0x1a3571,null));};exports['create']=function(_0x445a2d,_0x422d3e){return db['SquareRecording']['create'](_0x445a2d[_0xef01('0x4d')],{})[_0xef01('0x26')](respondWithResult(_0x422d3e,0xc9))[_0xef01('0x48')](handleError(_0x422d3e,null));};exports['update']=function(_0x3b1b0c,_0x456aa0){if(_0x3b1b0c[_0xef01('0x4d')]['id']){delete _0x3b1b0c[_0xef01('0x4d')]['id'];}return db[_0xef01('0x2f')]['find']({'where':{'id':_0x3b1b0c['params']['id']}})[_0xef01('0x26')](handleEntityNotFound(_0x456aa0,null))[_0xef01('0x26')](saveUpdates(_0x3b1b0c[_0xef01('0x4d')],null))[_0xef01('0x26')](respondWithResult(_0x456aa0,null))[_0xef01('0x48')](handleError(_0x456aa0,null));};exports['download']=function(_0x5e69c7,_0x514ddb,_0x2d0b3f){var _0xaae17=require('../../components/encryptor');var _0x2c6547=![];var _0x3f262a={};if(_0x5e69c7[_0xef01('0x32')][_0xef01('0x40')]&&_0x5e69c7[_0xef01('0x32')][_0xef01('0x40')]==='uniqueid'){_0x3f262a[_0xef01('0x4e')]=_0x5e69c7[_0xef01('0x4a')]['id'];}else{_0x3f262a['id']=_0x5e69c7[_0xef01('0x4a')]['id'];}return db[_0xef01('0x2f')]['find']({'where':_0x3f262a,'attributes':['id',_0xef01('0x4f'),'filename'],'raw':!![]})[_0xef01('0x26')](handleEntityNotFound(_0x514ddb,null))[_0xef01('0x26')](function(_0x20602e){if(_0x20602e){var _0x50d335=_0x20602e['savePath'];var _0x4a58e8=util[_0xef01('0x50')]('%s.cypher',_0x50d335);if(fs[_0xef01('0x51')](_0x4a58e8)){_0x2c6547=!![];return _0xaae17[_0xef01('0x52')](_0x4a58e8,_0x50d335,config[_0xef01('0x53')][_0xef01('0x54')])[_0xef01('0x26')](function(){return _0x20602e;});}return _0x20602e;}})[_0xef01('0x26')](function(_0x3e720b){if(_0x3e720b){var _0x2b71fb=_0x3e720b['savePath'];if(!fs[_0xef01('0x51')](_0x2b71fb)){throw new db[(_0xef01('0x55'))][(_0xef01('0x56'))](_0xef01('0x57'));}if(_0x3e720b['filename']){return _0x514ddb[_0xef01('0x58')](_0x2b71fb,_0x3e720b['filename']+path['extname'](_0x2b71fb),function(){if(_0x2c6547){fs[_0xef01('0x59')](_0x2b71fb);}});}else{return _0x514ddb['download'](_0x2b71fb,function(_0x2575b0){if(_0x2c6547){fs[_0xef01('0x59')](_0x2b71fb);}});}}})['catch'](function(_0x4ef38e){if(_0x4ef38e[_0xef01('0x5a')]==='SquareRecording\x20not\x20found'){_0x514ddb[_0xef01('0x1d')](0x194)[_0xef01('0x2c')](_0xef01('0x5b'));}else{return handleError(_0x514ddb,null);}});};exports[_0xef01('0x27')]=function(_0x1ad887,_0x2479c1){return db[_0xef01('0x2f')][_0xef01('0x4c')]({'where':{'id':_0x1ad887[_0xef01('0x4a')]['id']}})[_0xef01('0x26')](function(_0x38278f){if(_['isNil'](_0x38278f)){throw new ReferenceError(_0xef01('0x5c'));}return _0x38278f;})[_0xef01('0x26')](function(_0x5a17fa){var _0x141e34=_0x5a17fa[_0xef01('0x4f')];logger[_0xef01('0x5d')](_0xef01('0x5e'),_0x141e34);if(!_[_0xef01('0x5f')](_0x5a17fa[_0xef01('0x4f')])&&fs['existsSync'](_0x141e34)){logger[_0xef01('0x5d')]('File:\x20\x22'+_0x141e34+_0xef01('0x60'));fs[_0xef01('0x61')](_0x141e34);}_0x141e34=_0x141e34+_0xef01('0x62');if(!_[_0xef01('0x5f')](_0x5a17fa[_0xef01('0x4f')])&&fs[_0xef01('0x51')](_0x141e34)){logger['info'](_0xef01('0x63')+_0x141e34+_0xef01('0x60'));fs['unlinkSync'](_0x141e34);}return _0x5a17fa;})[_0xef01('0x26')](function(_0x1428a8){if(!_0x1428a8)throw new InternalError();return _0x1428a8[_0xef01('0x27')]();})[_0xef01('0x26')](function(){_0x2479c1[_0xef01('0x1d')](0xcc)['end']();})['catch'](handleError(_0x2479c1,null));};