c3c7439b267274143fc0ec824bcfa8a1126d4043
[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 _0x510b=['zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','end','error','stack','name','send','index','map','SquareRecording','fieldName','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','pick','filter','merge','type','includeAll','findAll','rows','catch','show','params','length','include','options','find','create','body','download','../../components/encryptor','uniqueid','savePath','filename','existsSync','decryptFile','recording','ValidationError','extname','unlink','message','Not\x20found','destroy','isNil','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','info','eml-format','rimraf'];(function(_0x3bf108,_0x3b8521){var _0x3671f5=function(_0x4b9112){while(--_0x4b9112){_0x3bf108['push'](_0x3bf108['shift']());}};_0x3671f5(++_0x3b8521);}(_0x510b,0x18a));var _0xb510=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x510b[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0xb510('0x0'));var rimraf=require(_0xb510('0x1'));var zipdir=require(_0xb510('0x2'));var jsonpatch=require(_0xb510('0x3'));var rp=require(_0xb510('0x4'));var moment=require(_0xb510('0x5'));var BPromise=require(_0xb510('0x6'));var Mustache=require('mustache');var util=require(_0xb510('0x7'));var path=require(_0xb510('0x8'));var sox=require('sox');var csv=require(_0xb510('0x9'));var ejs=require(_0xb510('0xa'));var fs=require('fs');var fs_extra=require(_0xb510('0xb'));var _=require(_0xb510('0xc'));var squel=require(_0xb510('0xd'));var crypto=require(_0xb510('0xe'));var jsforce=require(_0xb510('0xf'));var deskjs=require(_0xb510('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb510('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xb510('0x12'));var as=require(_0xb510('0x13'));var hardwareService=require(_0xb510('0x14'));var logger=require(_0xb510('0x15'))(_0xb510('0x16'));var utils=require(_0xb510('0x17'));var config=require(_0xb510('0x18'));var licenseUtil=require(_0xb510('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x22cb71,_0x11a724){_0x11a724=_0x11a724||0xcc;return function(_0x234edd){if(_0x234edd){return _0x22cb71[_0xb510('0x1a')](_0x11a724);}return _0x22cb71[_0xb510('0x1b')](_0x11a724)['end']();};}function respondWithResult(_0x4d4456,_0x449ed0){_0x449ed0=_0x449ed0||0xc8;return function(_0x2b7d28){if(_0x2b7d28){return _0x4d4456[_0xb510('0x1b')](_0x449ed0)[_0xb510('0x1c')](_0x2b7d28);}};}function respondWithFilteredResult(_0xf1fa99,_0x3f9eac){return function(_0x14f8a3){if(_0x14f8a3){var _0x1e80fd=typeof _0x3f9eac['offset']===_0xb510('0x1d')&&typeof _0x3f9eac[_0xb510('0x1e')]===_0xb510('0x1d');var _0x2037c1=_0x14f8a3[_0xb510('0x1f')];var _0x325000=_0x1e80fd?0x0:_0x3f9eac[_0xb510('0x20')];var _0x2270f6=_0x1e80fd?_0x14f8a3[_0xb510('0x1f')]:_0x3f9eac[_0xb510('0x20')]+_0x3f9eac[_0xb510('0x1e')];var _0x561e28;if(_0x2270f6>=_0x2037c1){_0x2270f6=_0x2037c1;_0x561e28=0xc8;}else{_0x561e28=0xce;}_0xf1fa99[_0xb510('0x1b')](_0x561e28);return _0xf1fa99[_0xb510('0x21')](_0xb510('0x22'),_0x325000+'-'+_0x2270f6+'/'+_0x2037c1)[_0xb510('0x1c')](_0x14f8a3);}return null;};}function patchUpdates(_0x556ad7){return function(_0x9ea829){try{jsonpatch[_0xb510('0x23')](_0x9ea829,_0x556ad7,!![]);}catch(_0x11eeb7){return BPromise[_0xb510('0x24')](_0x11eeb7);}return _0x9ea829[_0xb510('0x25')]();};}function saveUpdates(_0x349d36,_0x2a8cbb){return function(_0x3031ab){if(_0x3031ab){return _0x3031ab[_0xb510('0x26')](_0x349d36)[_0xb510('0x27')](function(_0x2cf252){return _0x2cf252;});}return null;};}function removeEntity(_0x1b827f,_0xfa9a6f){return function(_0x23685d){if(_0x23685d){return _0x23685d['destroy']()[_0xb510('0x27')](function(){_0x1b827f['status'](0xcc)[_0xb510('0x28')]();});}};}function handleEntityNotFound(_0x4121b8,_0x24190f){return function(_0x7da9a1){if(!_0x7da9a1){_0x4121b8[_0xb510('0x1a')](0x194);}return _0x7da9a1;};}function handleError(_0x594a4a,_0xf6bba9){_0xf6bba9=_0xf6bba9||0x1f4;return function(_0x253f4b){logger[_0xb510('0x29')](_0x253f4b[_0xb510('0x2a')]);if(_0x253f4b[_0xb510('0x2b')]){delete _0x253f4b['name'];}_0x594a4a['status'](_0xf6bba9)[_0xb510('0x2c')](_0x253f4b);};}exports[_0xb510('0x2d')]=function(_0x1ba5d6,_0x5ad357){var _0x233c6f={},_0xa4baec={},_0x25c9ea={'count':0x0,'rows':[]};var _0x24ca8f=_[_0xb510('0x2e')](db[_0xb510('0x2f')]['rawAttributes'],function(_0x341942){return{'name':_0x341942[_0xb510('0x30')],'type':_0x341942['type'][_0xb510('0x31')]};});_0xa4baec[_0xb510('0x32')]=_[_0xb510('0x2e')](_0x24ca8f,_0xb510('0x2b'));_0xa4baec[_0xb510('0x33')]=_[_0xb510('0x34')](_0x1ba5d6['query']);_0xa4baec[_0xb510('0x35')]=_[_0xb510('0x36')](_0xa4baec[_0xb510('0x32')],_0xa4baec[_0xb510('0x33')]);_0x233c6f['attributes']=_['intersection'](_0xa4baec['model'],qs[_0xb510('0x37')](_0x1ba5d6[_0xb510('0x33')][_0xb510('0x37')]));_0x233c6f[_0xb510('0x38')]=_0x233c6f['attributes']['length']?_0x233c6f[_0xb510('0x38')]:_0xa4baec['model'];if(!_0x1ba5d6[_0xb510('0x33')][_0xb510('0x39')]('nolimit')){_0x233c6f[_0xb510('0x1e')]=qs[_0xb510('0x1e')](_0x1ba5d6[_0xb510('0x33')][_0xb510('0x1e')]);_0x233c6f[_0xb510('0x20')]=qs[_0xb510('0x20')](_0x1ba5d6['query'][_0xb510('0x20')]);}_0x233c6f[_0xb510('0x3a')]=qs[_0xb510('0x3b')](_0x1ba5d6[_0xb510('0x33')]['sort']);_0x233c6f[_0xb510('0x3c')]=qs[_0xb510('0x35')](_[_0xb510('0x3d')](_0x1ba5d6['query'],_0xa4baec[_0xb510('0x35')]),_0x24ca8f);if(_0x1ba5d6[_0xb510('0x33')][_0xb510('0x3e')]){_0x233c6f['where']=_[_0xb510('0x3f')](_0x233c6f[_0xb510('0x3c')],{'$or':_[_0xb510('0x2e')](_0x24ca8f,function(_0x16673e){if(_0x16673e[_0xb510('0x40')]!=='VIRTUAL'){var _0xd52a62={};_0xd52a62[_0x16673e['name']]={'$like':'%'+_0x1ba5d6[_0xb510('0x33')][_0xb510('0x3e')]+'%'};return _0xd52a62;}})});}_0x233c6f=_[_0xb510('0x3f')]({},_0x233c6f,_0x1ba5d6['options']);var _0x3b4a1c={'where':_0x233c6f[_0xb510('0x3c')]};return db['SquareRecording']['count'](_0x3b4a1c)['then'](function(_0x3ce11e){_0x25c9ea[_0xb510('0x1f')]=_0x3ce11e;if(_0x1ba5d6[_0xb510('0x33')][_0xb510('0x41')]){_0x233c6f['include']=[{'all':!![]}];}return db['SquareRecording'][_0xb510('0x42')](_0x233c6f);})[_0xb510('0x27')](function(_0x439051){_0x25c9ea[_0xb510('0x43')]=_0x439051;return _0x25c9ea;})[_0xb510('0x27')](respondWithFilteredResult(_0x5ad357,_0x233c6f))[_0xb510('0x44')](handleError(_0x5ad357,null));};exports[_0xb510('0x45')]=function(_0x7163db,_0x495da1){var _0xf540ee={'raw':!![],'where':{'id':_0x7163db[_0xb510('0x46')]['id']}},_0x3868d0={};_0x3868d0[_0xb510('0x32')]=_[_0xb510('0x34')](db[_0xb510('0x2f')]['rawAttributes']);_0x3868d0[_0xb510('0x33')]=_['keys'](_0x7163db[_0xb510('0x33')]);_0x3868d0['filters']=_[_0xb510('0x36')](_0x3868d0[_0xb510('0x32')],_0x3868d0[_0xb510('0x33')]);_0xf540ee[_0xb510('0x38')]=_[_0xb510('0x36')](_0x3868d0[_0xb510('0x32')],qs[_0xb510('0x37')](_0x7163db[_0xb510('0x33')][_0xb510('0x37')]));_0xf540ee['attributes']=_0xf540ee[_0xb510('0x38')][_0xb510('0x47')]?_0xf540ee[_0xb510('0x38')]:_0x3868d0['model'];if(_0x7163db['query']['includeAll']){_0xf540ee[_0xb510('0x48')]=[{'all':!![]}];}_0xf540ee=_[_0xb510('0x3f')]({},_0xf540ee,_0x7163db[_0xb510('0x49')]);return db[_0xb510('0x2f')][_0xb510('0x4a')](_0xf540ee)['then'](handleEntityNotFound(_0x495da1,null))[_0xb510('0x27')](respondWithResult(_0x495da1,null))[_0xb510('0x44')](handleError(_0x495da1,null));};exports[_0xb510('0x4b')]=function(_0x463ee6,_0x364c0d){return db['SquareRecording'][_0xb510('0x4b')](_0x463ee6[_0xb510('0x4c')],{})[_0xb510('0x27')](respondWithResult(_0x364c0d,0xc9))['catch'](handleError(_0x364c0d,null));};exports[_0xb510('0x26')]=function(_0x1f3c43,_0x4ea171){if(_0x1f3c43[_0xb510('0x4c')]['id']){delete _0x1f3c43[_0xb510('0x4c')]['id'];}return db[_0xb510('0x2f')][_0xb510('0x4a')]({'where':{'id':_0x1f3c43[_0xb510('0x46')]['id']}})[_0xb510('0x27')](handleEntityNotFound(_0x4ea171,null))[_0xb510('0x27')](saveUpdates(_0x1f3c43[_0xb510('0x4c')],null))[_0xb510('0x27')](respondWithResult(_0x4ea171,null))['catch'](handleError(_0x4ea171,null));};exports[_0xb510('0x4d')]=function(_0x35fcdb,_0x3e8f3a,_0xebc382){var _0x3199a8=require(_0xb510('0x4e'));var _0xbc066=![];var _0x28be37={};if(_0x35fcdb[_0xb510('0x33')][_0xb510('0x40')]&&_0x35fcdb[_0xb510('0x33')][_0xb510('0x40')]===_0xb510('0x4f')){_0x28be37[_0xb510('0x4f')]=_0x35fcdb[_0xb510('0x46')]['id'];}else{_0x28be37['id']=_0x35fcdb[_0xb510('0x46')]['id'];}return db[_0xb510('0x2f')][_0xb510('0x4a')]({'where':_0x28be37,'attributes':['id',_0xb510('0x50'),_0xb510('0x51')],'raw':!![]})[_0xb510('0x27')](handleEntityNotFound(_0x3e8f3a,null))[_0xb510('0x27')](function(_0x5c842c){if(_0x5c842c){var _0x23ad27=_0x5c842c['savePath'];var _0x1421bc=util['format']('%s.cypher',_0x23ad27);if(fs[_0xb510('0x52')](_0x1421bc)){_0xbc066=!![];return _0x3199a8[_0xb510('0x53')](_0x1421bc,_0x23ad27,config['secrets'][_0xb510('0x54')])[_0xb510('0x27')](function(){return _0x5c842c;});}return _0x5c842c;}})[_0xb510('0x27')](function(_0x2cf8e7){if(_0x2cf8e7){var _0x4e49b3=_0x2cf8e7[_0xb510('0x50')];if(!fs[_0xb510('0x52')](_0x4e49b3)){throw new db['Sequelize'][(_0xb510('0x55'))]('SquareRecording\x20not\x20found');}if(_0x2cf8e7[_0xb510('0x51')]){return _0x3e8f3a['download'](_0x4e49b3,_0x2cf8e7['filename']+path[_0xb510('0x56')](_0x4e49b3),function(){if(_0xbc066){fs[_0xb510('0x57')](_0x4e49b3);}});}else{return _0x3e8f3a[_0xb510('0x4d')](_0x4e49b3,function(_0x6f001f){if(_0xbc066){fs[_0xb510('0x57')](_0x4e49b3);}});}}})[_0xb510('0x44')](function(_0x2d8919){if(_0x2d8919[_0xb510('0x58')]==='SquareRecording\x20not\x20found'){_0x3e8f3a[_0xb510('0x1b')](0x194)[_0xb510('0x2c')](_0xb510('0x59'));}else{return handleError(_0x3e8f3a,null);}});};exports[_0xb510('0x5a')]=function(_0x188ad7,_0x56f774){return db[_0xb510('0x2f')][_0xb510('0x4a')]({'where':{'id':_0x188ad7[_0xb510('0x46')]['id']}})[_0xb510('0x27')](function(_0x447eb3){if(_[_0xb510('0x5b')](_0x447eb3)){throw new ReferenceError(_0xb510('0x5c'));}return _0x447eb3;})[_0xb510('0x27')](function(_0x24ba7e){var _0x1b8c1e=_0x24ba7e[_0xb510('0x50')];logger['info'](_0xb510('0x5d'),_0x1b8c1e);if(!_['isNil'](_0x24ba7e['savePath'])&&fs['existsSync'](_0x1b8c1e)){logger['info'](_0xb510('0x5e')+_0x1b8c1e+_0xb510('0x5f'));fs[_0xb510('0x60')](_0x1b8c1e);}_0x1b8c1e=_0x1b8c1e+_0xb510('0x61');if(!_[_0xb510('0x5b')](_0x24ba7e['savePath'])&&fs['existsSync'](_0x1b8c1e)){logger[_0xb510('0x62')](_0xb510('0x5e')+_0x1b8c1e+_0xb510('0x5f'));fs[_0xb510('0x60')](_0x1b8c1e);}return _0x24ba7e;})[_0xb510('0x27')](function(_0x1b993a){if(!_0x1b993a)throw new InternalError();return _0x1b993a[_0xb510('0x5a')]();})[_0xb510('0x27')](function(){_0x56f774[_0xb510('0x1b')](0xcc)[_0xb510('0x28')]();})[_0xb510('0x44')](handleError(_0x56f774,null));};