bb81cbd876efadf80960f5c8d8d492e669860a63
[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 _0xd23a=['length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','SquareRecording','findAll','rows','show','params','create','body','catch','download','../../components/encryptor','uniqueid','find','savePath','format','%s.cypher','decryptFile','secrets','existsSync','ValidationError','filename','extname','unlink','message','SquareRecording\x20not\x20found','Not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','save','update','then','destroy','error','stack','send','index','map','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','fields','attributes'];(function(_0x449b3f,_0x588d7c){var _0x4b7706=function(_0x334738){while(--_0x334738){_0x449b3f['push'](_0x449b3f['shift']());}};_0x4b7706(++_0x588d7c);}(_0xd23a,0xe7));var _0xad23=function(_0xf2136e,_0x3acc62){_0xf2136e=_0xf2136e-0x0;var _0x1f145d=_0xd23a[_0xf2136e];return _0x1f145d;};'use strict';var pdf=require(_0xad23('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xad23('0x1'));var zipdir=require(_0xad23('0x2'));var jsonpatch=require(_0xad23('0x3'));var rp=require(_0xad23('0x4'));var moment=require(_0xad23('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xad23('0x6'));var util=require(_0xad23('0x7'));var path=require('path');var sox=require(_0xad23('0x8'));var csv=require(_0xad23('0x9'));var ejs=require(_0xad23('0xa'));var fs=require('fs');var _=require(_0xad23('0xb'));var squel=require('squel');var crypto=require(_0xad23('0xc'));var jsforce=require(_0xad23('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xad23('0x9'));var querystring=require(_0xad23('0xe'));var Papa=require(_0xad23('0xf'));var Redis=require(_0xad23('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xad23('0x11'));var hardwareService=require(_0xad23('0x12'));var logger=require(_0xad23('0x13'))(_0xad23('0x14'));var utils=require('../../config/utils');var config=require(_0xad23('0x15'));var licenseUtil=require(_0xad23('0x16'));var db=require(_0xad23('0x17'))['db'];function respondWithStatusCode(_0x380815,_0x36d948){_0x36d948=_0x36d948||0xcc;return function(_0x3baafc){if(_0x3baafc){return _0x380815[_0xad23('0x18')](_0x36d948);}return _0x380815[_0xad23('0x19')](_0x36d948)[_0xad23('0x1a')]();};}function respondWithResult(_0x410a8f,_0x13cd75){_0x13cd75=_0x13cd75||0xc8;return function(_0x5a2fb7){if(_0x5a2fb7){return _0x410a8f[_0xad23('0x19')](_0x13cd75)[_0xad23('0x1b')](_0x5a2fb7);}};}function respondWithFilteredResult(_0x3c5c7c,_0xde411b){return function(_0x257652){if(_0x257652){var _0x41b2cb=_0x257652[_0xad23('0x1c')],_0x249ff4=_0xde411b['offset'],_0x222456=_0xde411b[_0xad23('0x1d')]+_0xde411b[_0xad23('0x1e')],_0x34dea5;if(_0x222456>=_0x41b2cb){_0x222456=_0x41b2cb;_0x34dea5=0xc8;}else{_0x34dea5=0xce;}_0x3c5c7c[_0xad23('0x19')](_0x34dea5);return _0x3c5c7c[_0xad23('0x1f')](_0xad23('0x20'),_0x249ff4+'-'+_0x222456+'/'+_0x41b2cb)[_0xad23('0x1b')](_0x257652);}return null;};}function patchUpdates(_0x25f8a8){return function(_0x577c1b){try{jsonpatch['apply'](_0x577c1b,_0x25f8a8,!![]);}catch(_0x444426){return BPromise['reject'](_0x444426);}return _0x577c1b[_0xad23('0x21')]();};}function saveUpdates(_0x5d49f2,_0x42354c){return function(_0x382c73){if(_0x382c73){return _0x382c73[_0xad23('0x22')](_0x5d49f2)[_0xad23('0x23')](function(_0x559981){return _0x559981;});}return null;};}function removeEntity(_0x197dd1,_0x47c461){return function(_0x1864fc){if(_0x1864fc){return _0x1864fc[_0xad23('0x24')]()[_0xad23('0x23')](function(){_0x197dd1[_0xad23('0x19')](0xcc)[_0xad23('0x1a')]();});}};}function handleEntityNotFound(_0x53f0ce,_0x197d31){return function(_0x3e95e5){if(!_0x3e95e5){_0x53f0ce[_0xad23('0x18')](0x194);}return _0x3e95e5;};}function handleError(_0x1c4c64,_0x3f8f85){_0x3f8f85=_0x3f8f85||0x1f4;return function(_0x1114c8){logger[_0xad23('0x25')](_0x1114c8[_0xad23('0x26')]);if(_0x1114c8['name']){delete _0x1114c8['name'];}_0x1c4c64[_0xad23('0x19')](_0x3f8f85)[_0xad23('0x27')](_0x1114c8);};}exports[_0xad23('0x28')]=function(_0x579e7d,_0x232235){var _0x5c1af1={},_0x4982cf={},_0x4e92d3={'count':0x0,'rows':[]};var _0x8018a5=_[_0xad23('0x29')](db['SquareRecording'][_0xad23('0x2a')],function(_0x1a779b){return{'name':_0x1a779b[_0xad23('0x2b')],'type':_0x1a779b[_0xad23('0x2c')][_0xad23('0x2d')]};});_0x4982cf[_0xad23('0x2e')]=_[_0xad23('0x29')](_0x8018a5,_0xad23('0x2f'));_0x4982cf[_0xad23('0x30')]=_[_0xad23('0x31')](_0x579e7d[_0xad23('0x30')]);_0x4982cf[_0xad23('0x32')]=_[_0xad23('0x33')](_0x4982cf[_0xad23('0x2e')],_0x4982cf[_0xad23('0x30')]);_0x5c1af1['attributes']=_[_0xad23('0x33')](_0x4982cf[_0xad23('0x2e')],qs[_0xad23('0x34')](_0x579e7d[_0xad23('0x30')][_0xad23('0x34')]));_0x5c1af1[_0xad23('0x35')]=_0x5c1af1[_0xad23('0x35')][_0xad23('0x36')]?_0x5c1af1[_0xad23('0x35')]:_0x4982cf[_0xad23('0x2e')];if(!_0x579e7d[_0xad23('0x30')]['hasOwnProperty'](_0xad23('0x37'))){_0x5c1af1['limit']=qs[_0xad23('0x1e')](_0x579e7d[_0xad23('0x30')]['limit']);_0x5c1af1['offset']=qs[_0xad23('0x1d')](_0x579e7d['query'][_0xad23('0x1d')]);}_0x5c1af1[_0xad23('0x38')]=qs['sort'](_0x579e7d['query'][_0xad23('0x39')]);_0x5c1af1[_0xad23('0x3a')]=qs[_0xad23('0x32')](_[_0xad23('0x3b')](_0x579e7d[_0xad23('0x30')],_0x4982cf[_0xad23('0x32')]),_0x8018a5);if(_0x579e7d['query'][_0xad23('0x3c')]){_0x5c1af1[_0xad23('0x3a')]=_[_0xad23('0x3d')](_0x5c1af1[_0xad23('0x3a')],{'$or':_[_0xad23('0x29')](_0x8018a5,function(_0x3789cb){if(_0x3789cb['type']!==_0xad23('0x3e')){var _0x121ff0={};_0x121ff0[_0x3789cb[_0xad23('0x2f')]]={'$like':'%'+_0x579e7d[_0xad23('0x30')][_0xad23('0x3c')]+'%'};return _0x121ff0;}})});}_0x5c1af1=_[_0xad23('0x3d')]({},_0x5c1af1,_0x579e7d['options']);var _0x318d03={'where':_0x5c1af1['where']};return db['SquareRecording'][_0xad23('0x1c')](_0x318d03)[_0xad23('0x23')](function(_0x42d5a8){_0x4e92d3['count']=_0x42d5a8;if(_0x579e7d[_0xad23('0x30')][_0xad23('0x3f')]){_0x5c1af1[_0xad23('0x40')]=[{'all':!![]}];}return db[_0xad23('0x41')][_0xad23('0x42')](_0x5c1af1);})['then'](function(_0x11e63c){_0x4e92d3[_0xad23('0x43')]=_0x11e63c;return _0x4e92d3;})['then'](respondWithFilteredResult(_0x232235,_0x5c1af1))['catch'](handleError(_0x232235,null));};exports[_0xad23('0x44')]=function(_0x48b547,_0x4411bb){var _0x2ca4e7={'raw':!![],'where':{'id':_0x48b547[_0xad23('0x45')]['id']}},_0x23320f={};_0x23320f[_0xad23('0x2e')]=_[_0xad23('0x31')](db[_0xad23('0x41')]['rawAttributes']);_0x23320f[_0xad23('0x30')]=_[_0xad23('0x31')](_0x48b547['query']);_0x23320f[_0xad23('0x32')]=_[_0xad23('0x33')](_0x23320f['model'],_0x23320f[_0xad23('0x30')]);_0x2ca4e7[_0xad23('0x35')]=_[_0xad23('0x33')](_0x23320f[_0xad23('0x2e')],qs[_0xad23('0x34')](_0x48b547[_0xad23('0x30')]['fields']));_0x2ca4e7[_0xad23('0x35')]=_0x2ca4e7[_0xad23('0x35')]['length']?_0x2ca4e7[_0xad23('0x35')]:_0x23320f[_0xad23('0x2e')];if(_0x48b547[_0xad23('0x30')][_0xad23('0x3f')]){_0x2ca4e7[_0xad23('0x40')]=[{'all':!![]}];}_0x2ca4e7=_[_0xad23('0x3d')]({},_0x2ca4e7,_0x48b547['options']);return db[_0xad23('0x41')]['find'](_0x2ca4e7)[_0xad23('0x23')](handleEntityNotFound(_0x4411bb,null))[_0xad23('0x23')](respondWithResult(_0x4411bb,null))['catch'](handleError(_0x4411bb,null));};exports[_0xad23('0x46')]=function(_0x3cf04d,_0x32645c){return db[_0xad23('0x41')][_0xad23('0x46')](_0x3cf04d[_0xad23('0x47')],{})[_0xad23('0x23')](respondWithResult(_0x32645c,0xc9))[_0xad23('0x48')](handleError(_0x32645c,null));};exports[_0xad23('0x22')]=function(_0x359679,_0x54c7d3){if(_0x359679['body']['id']){delete _0x359679[_0xad23('0x47')]['id'];}return db['SquareRecording']['find']({'where':{'id':_0x359679[_0xad23('0x45')]['id']}})[_0xad23('0x23')](handleEntityNotFound(_0x54c7d3,null))[_0xad23('0x23')](saveUpdates(_0x359679[_0xad23('0x47')],null))[_0xad23('0x23')](respondWithResult(_0x54c7d3,null))[_0xad23('0x48')](handleError(_0x54c7d3,null));};exports[_0xad23('0x49')]=function(_0x6e4a97,_0x5204b2,_0x3262b1){var _0x79620a=require(_0xad23('0x4a'));var _0x4f54bf=![];var _0x5c20ad={};if(_0x6e4a97[_0xad23('0x30')]['type']&&_0x6e4a97[_0xad23('0x30')][_0xad23('0x2c')]==='uniqueid'){_0x5c20ad[_0xad23('0x4b')]=_0x6e4a97['params']['id'];}else{_0x5c20ad['id']=_0x6e4a97['params']['id'];}return db['SquareRecording'][_0xad23('0x4c')]({'where':_0x5c20ad,'attributes':['id','savePath','filename'],'raw':!![]})['then'](handleEntityNotFound(_0x5204b2,null))['then'](function(_0x44afed){if(_0x44afed){var _0x522759=_0x44afed[_0xad23('0x4d')];var _0x3a16f2=util[_0xad23('0x4e')](_0xad23('0x4f'),_0x522759);if(fs['existsSync'](_0x3a16f2)){_0x4f54bf=!![];return _0x79620a[_0xad23('0x50')](_0x3a16f2,_0x522759,config[_0xad23('0x51')]['recording'])[_0xad23('0x23')](function(){return _0x44afed;});}return _0x44afed;}})['then'](function(_0x33fe21){if(_0x33fe21){var _0x2513ff=_0x33fe21[_0xad23('0x4d')];if(!fs[_0xad23('0x52')](_0x2513ff)){throw new db['Sequelize'][(_0xad23('0x53'))]('SquareRecording\x20not\x20found');}if(_0x33fe21[_0xad23('0x54')]){return _0x5204b2[_0xad23('0x49')](_0x2513ff,_0x33fe21[_0xad23('0x54')]+path[_0xad23('0x55')](_0x2513ff),function(){if(_0x4f54bf){fs[_0xad23('0x56')](_0x2513ff);}});}else{return _0x5204b2[_0xad23('0x49')](_0x2513ff,function(_0xfae069){if(_0x4f54bf){fs[_0xad23('0x56')](_0x2513ff);}});}}})[_0xad23('0x48')](function(_0x3a244b){if(_0x3a244b[_0xad23('0x57')]===_0xad23('0x58')){_0x5204b2['status'](0x194)[_0xad23('0x27')](_0xad23('0x59'));}else{return handleError(_0x5204b2,null);}});};exports['destroy']=function(_0x310da6,_0x179606){return db[_0xad23('0x41')]['find']({'where':{'id':_0x310da6[_0xad23('0x45')]['id']}})[_0xad23('0x23')](function(_0x5bbc5f){if(!_0x5bbc5f)throw new ReferenceError('Entity\x20not\x20found');return _0x5bbc5f;})['then'](function(_0x5b82a7){var _0x4b4e8a=_0x5b82a7[_0xad23('0x4d')];logger['info'](_0xad23('0x5a'),_0x4b4e8a);if(!_['isNil'](_0x5b82a7[_0xad23('0x4d')])&&fs[_0xad23('0x52')](_0x4b4e8a)){logger[_0xad23('0x5b')](_0xad23('0x5c')+_0x4b4e8a+_0xad23('0x5d'));fs[_0xad23('0x5e')](_0x4b4e8a);}_0x4b4e8a=_0x4b4e8a+'.cypher';if(!_['isNil'](_0x5b82a7[_0xad23('0x4d')])&&fs[_0xad23('0x52')](_0x4b4e8a)){logger[_0xad23('0x5b')](_0xad23('0x5c')+_0x4b4e8a+_0xad23('0x5d'));fs['unlinkSync'](_0x4b4e8a);}return _0x5b82a7;})[_0xad23('0x23')](function(_0x2d6af6){if(!_0x2d6af6)throw new InternalError();return _0x2d6af6[_0xad23('0x24')]();})[_0xad23('0x23')](function(){_0x179606[_0xad23('0x19')](0xcc)[_0xad23('0x1a')]();})[_0xad23('0x48')](handleError(_0x179606,null));};