Built motion from commit (unavailable).|2.4.21
[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 _0xac90=['Sequelize','ValidationError','filename','extname','unlink','message','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','savePath','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','name','send','index','map','SquareRecording','rawAttributes','type','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','params','keys','includeAll','catch','create','body','find','download','uniqueid','format','%s.cypher','existsSync','secrets'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0xac90,0x71));var _0x0ac9=function(_0x387b86,_0x307675){_0x387b86=_0x387b86-0x0;var _0x3d4d34=_0xac90[_0x387b86];return _0x3d4d34;};'use strict';var pdf=require(_0x0ac9('0x0'));var emlformat=require(_0x0ac9('0x1'));var rimraf=require(_0x0ac9('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0ac9('0x3'));var rp=require(_0x0ac9('0x4'));var moment=require('moment');var BPromise=require(_0x0ac9('0x5'));var Mustache=require(_0x0ac9('0x6'));var util=require(_0x0ac9('0x7'));var path=require(_0x0ac9('0x8'));var sox=require(_0x0ac9('0x9'));var csv=require(_0x0ac9('0xa'));var ejs=require(_0x0ac9('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0ac9('0xc'));var crypto=require(_0x0ac9('0xd'));var jsforce=require(_0x0ac9('0xe'));var deskjs=require(_0x0ac9('0xf'));var toCsv=require('to-csv');var querystring=require(_0x0ac9('0x10'));var Papa=require('papaparse');var Redis=require(_0x0ac9('0x11'));var authService=require(_0x0ac9('0x12'));var qs=require(_0x0ac9('0x13'));var as=require(_0x0ac9('0x14'));var hardwareService=require(_0x0ac9('0x15'));var logger=require(_0x0ac9('0x16'))(_0x0ac9('0x17'));var utils=require(_0x0ac9('0x18'));var config=require(_0x0ac9('0x19'));var db=require(_0x0ac9('0x1a'))['db'];function respondWithStatusCode(_0x30d669,_0x316893){_0x316893=_0x316893||0xcc;return function(_0x39874f){if(_0x39874f){return _0x30d669[_0x0ac9('0x1b')](_0x316893);}return _0x30d669[_0x0ac9('0x1c')](_0x316893)[_0x0ac9('0x1d')]();};}function respondWithResult(_0x53db49,_0x3c120b){_0x3c120b=_0x3c120b||0xc8;return function(_0x592c0a){if(_0x592c0a){return _0x53db49[_0x0ac9('0x1c')](_0x3c120b)[_0x0ac9('0x1e')](_0x592c0a);}};}function respondWithFilteredResult(_0xfb16c3,_0xad2cac){return function(_0x1c27f3){if(_0x1c27f3){var _0x16fb80=_0x1c27f3[_0x0ac9('0x1f')],_0xb388fe=_0xad2cac[_0x0ac9('0x20')],_0x28a39f=_0xad2cac[_0x0ac9('0x20')]+_0xad2cac[_0x0ac9('0x21')],_0x508731;if(_0x28a39f>=_0x16fb80){_0x28a39f=_0x16fb80;_0x508731=0xc8;}else{_0x508731=0xce;}_0xfb16c3['status'](_0x508731);return _0xfb16c3[_0x0ac9('0x22')](_0x0ac9('0x23'),_0xb388fe+'-'+_0x28a39f+'/'+_0x16fb80)[_0x0ac9('0x1e')](_0x1c27f3);}return null;};}function patchUpdates(_0x1a4aa0){return function(_0x2a1474){try{jsonpatch[_0x0ac9('0x24')](_0x2a1474,_0x1a4aa0,!![]);}catch(_0xd81930){return BPromise[_0x0ac9('0x25')](_0xd81930);}return _0x2a1474[_0x0ac9('0x26')]();};}function saveUpdates(_0x106e2e,_0x26acf2){return function(_0x1d6267){if(_0x1d6267){return _0x1d6267['update'](_0x106e2e)[_0x0ac9('0x27')](function(_0x15ff69){return _0x15ff69;});}return null;};}function removeEntity(_0xee29c2,_0x62275f){return function(_0x483a68){if(_0x483a68){return _0x483a68[_0x0ac9('0x28')]()[_0x0ac9('0x27')](function(){_0xee29c2[_0x0ac9('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1ac901,_0x1ed6a1){return function(_0x1f9a97){if(!_0x1f9a97){_0x1ac901[_0x0ac9('0x1b')](0x194);}return _0x1f9a97;};}function handleError(_0x18ad59,_0x32c02b){_0x32c02b=_0x32c02b||0x1f4;return function(_0x42d007){logger['error'](_0x42d007['stack']);if(_0x42d007[_0x0ac9('0x29')]){delete _0x42d007[_0x0ac9('0x29')];}_0x18ad59[_0x0ac9('0x1c')](_0x32c02b)[_0x0ac9('0x2a')](_0x42d007);};}exports[_0x0ac9('0x2b')]=function(_0x321c01,_0xd5cebf){var _0x257ad6={},_0x21297f={},_0x10e262={'count':0x0,'rows':[]};var _0x70d4c7=_[_0x0ac9('0x2c')](db[_0x0ac9('0x2d')][_0x0ac9('0x2e')],function(_0x46a591){return{'name':_0x46a591['fieldName'],'type':_0x46a591[_0x0ac9('0x2f')]['key']};});_0x21297f[_0x0ac9('0x30')]=_['map'](_0x70d4c7,_0x0ac9('0x29'));_0x21297f[_0x0ac9('0x31')]=_['keys'](_0x321c01[_0x0ac9('0x31')]);_0x21297f[_0x0ac9('0x32')]=_[_0x0ac9('0x33')](_0x21297f[_0x0ac9('0x30')],_0x21297f[_0x0ac9('0x31')]);_0x257ad6['attributes']=_[_0x0ac9('0x33')](_0x21297f[_0x0ac9('0x30')],qs[_0x0ac9('0x34')](_0x321c01[_0x0ac9('0x31')][_0x0ac9('0x34')]));_0x257ad6['attributes']=_0x257ad6[_0x0ac9('0x35')][_0x0ac9('0x36')]?_0x257ad6[_0x0ac9('0x35')]:_0x21297f[_0x0ac9('0x30')];if(!_0x321c01[_0x0ac9('0x31')][_0x0ac9('0x37')](_0x0ac9('0x38'))){_0x257ad6[_0x0ac9('0x21')]=qs[_0x0ac9('0x21')](_0x321c01[_0x0ac9('0x31')][_0x0ac9('0x21')]);_0x257ad6[_0x0ac9('0x20')]=qs[_0x0ac9('0x20')](_0x321c01[_0x0ac9('0x31')][_0x0ac9('0x20')]);}_0x257ad6[_0x0ac9('0x39')]=qs[_0x0ac9('0x3a')](_0x321c01['query'][_0x0ac9('0x3a')]);_0x257ad6[_0x0ac9('0x3b')]=qs['filters'](_[_0x0ac9('0x3c')](_0x321c01[_0x0ac9('0x31')],_0x21297f[_0x0ac9('0x32')]));if(_0x321c01[_0x0ac9('0x31')][_0x0ac9('0x3d')]){_0x257ad6[_0x0ac9('0x3b')]=_['merge'](_0x257ad6[_0x0ac9('0x3b')],{'$or':_['map'](_0x70d4c7,function(_0x2f1fa1){if(_0x2f1fa1['type']!==_0x0ac9('0x3e')){var _0x5a42ab={};_0x5a42ab[_0x2f1fa1[_0x0ac9('0x29')]]={'$like':'%'+_0x321c01[_0x0ac9('0x31')]['filter']+'%'};return _0x5a42ab;}})});}_0x257ad6=_[_0x0ac9('0x3f')]({},_0x257ad6,_0x321c01[_0x0ac9('0x40')]);var _0x4dcf77={'where':_0x257ad6[_0x0ac9('0x3b')]};return db[_0x0ac9('0x2d')]['count'](_0x4dcf77)['then'](function(_0x2fae62){_0x10e262[_0x0ac9('0x1f')]=_0x2fae62;if(_0x321c01[_0x0ac9('0x31')]['includeAll']){_0x257ad6[_0x0ac9('0x41')]=[{'all':!![]}];}return db[_0x0ac9('0x2d')][_0x0ac9('0x42')](_0x257ad6);})[_0x0ac9('0x27')](function(_0x5616cb){_0x10e262[_0x0ac9('0x43')]=_0x5616cb;return _0x10e262;})[_0x0ac9('0x27')](respondWithFilteredResult(_0xd5cebf,_0x257ad6))['catch'](handleError(_0xd5cebf,null));};exports['show']=function(_0x556880,_0x5abf53){var _0x37d9bd={'raw':!![],'where':{'id':_0x556880[_0x0ac9('0x44')]['id']}},_0x3ef236={};_0x3ef236[_0x0ac9('0x30')]=_[_0x0ac9('0x45')](db[_0x0ac9('0x2d')][_0x0ac9('0x2e')]);_0x3ef236['query']=_[_0x0ac9('0x45')](_0x556880[_0x0ac9('0x31')]);_0x3ef236['filters']=_[_0x0ac9('0x33')](_0x3ef236[_0x0ac9('0x30')],_0x3ef236[_0x0ac9('0x31')]);_0x37d9bd[_0x0ac9('0x35')]=_['intersection'](_0x3ef236[_0x0ac9('0x30')],qs[_0x0ac9('0x34')](_0x556880['query']['fields']));_0x37d9bd['attributes']=_0x37d9bd[_0x0ac9('0x35')][_0x0ac9('0x36')]?_0x37d9bd[_0x0ac9('0x35')]:_0x3ef236[_0x0ac9('0x30')];if(_0x556880[_0x0ac9('0x31')][_0x0ac9('0x46')]){_0x37d9bd[_0x0ac9('0x41')]=[{'all':!![]}];}_0x37d9bd=_[_0x0ac9('0x3f')]({},_0x37d9bd,_0x556880[_0x0ac9('0x40')]);return db[_0x0ac9('0x2d')]['find'](_0x37d9bd)['then'](handleEntityNotFound(_0x5abf53,null))[_0x0ac9('0x27')](respondWithResult(_0x5abf53,null))[_0x0ac9('0x47')](handleError(_0x5abf53,null));};exports[_0x0ac9('0x48')]=function(_0x3ddde9,_0x23a0b1){return db[_0x0ac9('0x2d')][_0x0ac9('0x48')](_0x3ddde9['body'],{})[_0x0ac9('0x27')](respondWithResult(_0x23a0b1,0xc9))[_0x0ac9('0x47')](handleError(_0x23a0b1,null));};exports['update']=function(_0x4ffd99,_0x99b7bf){if(_0x4ffd99[_0x0ac9('0x49')]['id']){delete _0x4ffd99['body']['id'];}return db['SquareRecording'][_0x0ac9('0x4a')]({'where':{'id':_0x4ffd99['params']['id']}})[_0x0ac9('0x27')](handleEntityNotFound(_0x99b7bf,null))[_0x0ac9('0x27')](saveUpdates(_0x4ffd99[_0x0ac9('0x49')],null))[_0x0ac9('0x27')](respondWithResult(_0x99b7bf,null))[_0x0ac9('0x47')](handleError(_0x99b7bf,null));};exports[_0x0ac9('0x4b')]=function(_0x4c39ba,_0x4cf542,_0x16d36c){var _0x43ccdd=require('../../components/encryptor');var _0x51d1f6=![];var _0x2e61d4={};if(_0x4c39ba[_0x0ac9('0x31')][_0x0ac9('0x2f')]&&_0x4c39ba[_0x0ac9('0x31')][_0x0ac9('0x2f')]===_0x0ac9('0x4c')){_0x2e61d4['uniqueid']=_0x4c39ba[_0x0ac9('0x44')]['id'];}else{_0x2e61d4['id']=_0x4c39ba[_0x0ac9('0x44')]['id'];}return db[_0x0ac9('0x2d')][_0x0ac9('0x4a')]({'where':_0x2e61d4,'attributes':['id','savePath','filename'],'raw':!![]})[_0x0ac9('0x27')](handleEntityNotFound(_0x4cf542,null))[_0x0ac9('0x27')](function(_0x46db00){if(_0x46db00){var _0x554e65=_0x46db00['savePath'];var _0x352fe2=util[_0x0ac9('0x4d')](_0x0ac9('0x4e'),_0x554e65);if(fs[_0x0ac9('0x4f')](_0x352fe2)){_0x51d1f6=!![];return _0x43ccdd['decryptFile'](_0x352fe2,_0x554e65,config[_0x0ac9('0x50')]['recording'])[_0x0ac9('0x27')](function(){return _0x46db00;});}return _0x46db00;}})[_0x0ac9('0x27')](function(_0x553961){if(_0x553961){var _0x13eb93=_0x553961['savePath'];if(!fs[_0x0ac9('0x4f')](_0x13eb93)){throw new db[(_0x0ac9('0x51'))][(_0x0ac9('0x52'))]('SquareRecording\x20not\x20found');}if(_0x553961[_0x0ac9('0x53')]){return _0x4cf542[_0x0ac9('0x4b')](_0x13eb93,_0x553961[_0x0ac9('0x53')]+path[_0x0ac9('0x54')](_0x13eb93),function(){if(_0x51d1f6){fs['unlink'](_0x13eb93);}});}else{return _0x4cf542[_0x0ac9('0x4b')](_0x13eb93,function(_0x508107){if(_0x51d1f6){fs[_0x0ac9('0x55')](_0x13eb93);}});}}})[_0x0ac9('0x47')](function(_0xe582c6){if(_0xe582c6[_0x0ac9('0x56')]==='SquareRecording\x20not\x20found'){_0x4cf542[_0x0ac9('0x1c')](0x194)[_0x0ac9('0x2a')](_0x0ac9('0x57'));}else{return handleError(_0x4cf542,null);}});};exports[_0x0ac9('0x28')]=function(_0x2a4c0d,_0x4b8731){return db[_0x0ac9('0x2d')][_0x0ac9('0x4a')]({'where':{'id':_0x2a4c0d['params']['id']}})[_0x0ac9('0x27')](function(_0x4b5b8c){if(!_0x4b5b8c)throw new ReferenceError(_0x0ac9('0x58'));return _0x4b5b8c;})[_0x0ac9('0x27')](function(_0x2bf8b3){var _0x34761b=_0x2bf8b3['savePath'];logger['info'](_0x0ac9('0x59'),_0x34761b);if(!_[_0x0ac9('0x5a')](_0x2bf8b3[_0x0ac9('0x5b')])&&fs[_0x0ac9('0x4f')](_0x34761b)){logger[_0x0ac9('0x5c')](_0x0ac9('0x5d')+_0x34761b+_0x0ac9('0x5e'));fs[_0x0ac9('0x5f')](_0x34761b);}_0x34761b=_0x34761b+_0x0ac9('0x60');if(!_[_0x0ac9('0x5a')](_0x2bf8b3['savePath'])&&fs[_0x0ac9('0x4f')](_0x34761b)){logger['info'](_0x0ac9('0x5d')+_0x34761b+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x0ac9('0x5f')](_0x34761b);}return _0x2bf8b3;})['then'](function(_0xcd7ddf){if(!_0xcd7ddf)throw new InternalError();return _0xcd7ddf[_0x0ac9('0x28')]();})[_0x0ac9('0x27')](function(){_0x4b8731['status'](0xcc)[_0x0ac9('0x1d')]();})[_0x0ac9('0x47')](handleError(_0x4b8731,null));};