Built motion from commit (unavailable).|2.4.18
[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 _0x5895=['rows','params','includeAll','merge','catch','create','body','find','download','uniqueid','savePath','filename','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','extname','unlink','message','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','end','offset','status','set','json','apply','save','update','destroy','then','error','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','VIRTUAL','filter','options','SquareRecording','count','include','findAll'];(function(_0x45de10,_0x59f7f9){var _0x3c4712=function(_0x2ae990){while(--_0x2ae990){_0x45de10['push'](_0x45de10['shift']());}};_0x3c4712(++_0x59f7f9);}(_0x5895,0x1a7));var _0x5589=function(_0x1888fb,_0x5bed73){_0x1888fb=_0x1888fb-0x0;var _0x1fa159=_0x5895[_0x1888fb];return _0x1fa159;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5589('0x0'));var rimraf=require(_0x5589('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x5589('0x2'));var moment=require(_0x5589('0x3'));var BPromise=require(_0x5589('0x4'));var Mustache=require(_0x5589('0x5'));var util=require(_0x5589('0x6'));var path=require(_0x5589('0x7'));var sox=require(_0x5589('0x8'));var csv=require(_0x5589('0x9'));var ejs=require(_0x5589('0xa'));var fs=require('fs');var _=require(_0x5589('0xb'));var squel=require(_0x5589('0xc'));var crypto=require(_0x5589('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x5589('0xe'));var toCsv=require(_0x5589('0x9'));var querystring=require('querystring');var Papa=require(_0x5589('0xf'));var Redis=require(_0x5589('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x5589('0x11'));var as=require(_0x5589('0x12'));var hardwareService=require(_0x5589('0x13'));var logger=require(_0x5589('0x14'))(_0x5589('0x15'));var utils=require(_0x5589('0x16'));var config=require('../../config/environment');var db=require(_0x5589('0x17'))['db'];function respondWithStatusCode(_0xab5dc1,_0x24955e){_0x24955e=_0x24955e||0xcc;return function(_0x515044){if(_0x515044){return _0xab5dc1[_0x5589('0x18')](_0x24955e);}return _0xab5dc1['status'](_0x24955e)[_0x5589('0x19')]();};}function respondWithResult(_0x3f58b3,_0x541b9f){_0x541b9f=_0x541b9f||0xc8;return function(_0x1e0dc2){if(_0x1e0dc2){return _0x3f58b3['status'](_0x541b9f)['json'](_0x1e0dc2);}};}function respondWithFilteredResult(_0x114042,_0x217701){return function(_0x17cb63){if(_0x17cb63){var _0x41e430=_0x17cb63['count'],_0x31bd42=_0x217701['offset'],_0x208d85=_0x217701[_0x5589('0x1a')]+_0x217701['limit'],_0x39144e;if(_0x208d85>=_0x41e430){_0x208d85=_0x41e430;_0x39144e=0xc8;}else{_0x39144e=0xce;}_0x114042[_0x5589('0x1b')](_0x39144e);return _0x114042[_0x5589('0x1c')]('Content-Range',_0x31bd42+'-'+_0x208d85+'/'+_0x41e430)[_0x5589('0x1d')](_0x17cb63);}return null;};}function patchUpdates(_0x1b4dbc){return function(_0x5cf481){try{jsonpatch[_0x5589('0x1e')](_0x5cf481,_0x1b4dbc,!![]);}catch(_0x16972c){return BPromise['reject'](_0x16972c);}return _0x5cf481[_0x5589('0x1f')]();};}function saveUpdates(_0x2d0043,_0x5e4a8e){return function(_0x4c2ea1){if(_0x4c2ea1){return _0x4c2ea1[_0x5589('0x20')](_0x2d0043)['then'](function(_0x56a61a){return _0x56a61a;});}return null;};}function removeEntity(_0x6ae227,_0x1767ea){return function(_0x53cc63){if(_0x53cc63){return _0x53cc63[_0x5589('0x21')]()[_0x5589('0x22')](function(){_0x6ae227['status'](0xcc)[_0x5589('0x19')]();});}};}function handleEntityNotFound(_0x12e37a,_0x514967){return function(_0x4ddc3e){if(!_0x4ddc3e){_0x12e37a[_0x5589('0x18')](0x194);}return _0x4ddc3e;};}function handleError(_0x33218c,_0x3953b8){_0x3953b8=_0x3953b8||0x1f4;return function(_0x2d96e9){logger[_0x5589('0x23')](_0x2d96e9[_0x5589('0x24')]);if(_0x2d96e9[_0x5589('0x25')]){delete _0x2d96e9['name'];}_0x33218c[_0x5589('0x1b')](_0x3953b8)[_0x5589('0x26')](_0x2d96e9);};}exports[_0x5589('0x27')]=function(_0x1918f0,_0x3b33ce){var _0x4dc3ab={},_0x5a288d={},_0x73f354={'count':0x0,'rows':[]};var _0x45cb01=_['map'](db['SquareRecording'][_0x5589('0x28')],function(_0x4c10ec){return{'name':_0x4c10ec[_0x5589('0x29')],'type':_0x4c10ec[_0x5589('0x2a')][_0x5589('0x2b')]};});_0x5a288d[_0x5589('0x2c')]=_[_0x5589('0x2d')](_0x45cb01,_0x5589('0x25'));_0x5a288d[_0x5589('0x2e')]=_[_0x5589('0x2f')](_0x1918f0[_0x5589('0x2e')]);_0x5a288d[_0x5589('0x30')]=_[_0x5589('0x31')](_0x5a288d[_0x5589('0x2c')],_0x5a288d[_0x5589('0x2e')]);_0x4dc3ab[_0x5589('0x32')]=_[_0x5589('0x31')](_0x5a288d[_0x5589('0x2c')],qs[_0x5589('0x33')](_0x1918f0[_0x5589('0x2e')]['fields']));_0x4dc3ab[_0x5589('0x32')]=_0x4dc3ab[_0x5589('0x32')][_0x5589('0x34')]?_0x4dc3ab[_0x5589('0x32')]:_0x5a288d[_0x5589('0x2c')];if(!_0x1918f0[_0x5589('0x2e')][_0x5589('0x35')](_0x5589('0x36'))){_0x4dc3ab[_0x5589('0x37')]=qs[_0x5589('0x37')](_0x1918f0[_0x5589('0x2e')][_0x5589('0x37')]);_0x4dc3ab[_0x5589('0x1a')]=qs[_0x5589('0x1a')](_0x1918f0['query'][_0x5589('0x1a')]);}_0x4dc3ab[_0x5589('0x38')]=qs[_0x5589('0x39')](_0x1918f0['query'][_0x5589('0x39')]);_0x4dc3ab[_0x5589('0x3a')]=qs['filters'](_[_0x5589('0x3b')](_0x1918f0[_0x5589('0x2e')],_0x5a288d[_0x5589('0x30')]));if(_0x1918f0[_0x5589('0x2e')]['filter']){_0x4dc3ab[_0x5589('0x3a')]=_['merge'](_0x4dc3ab[_0x5589('0x3a')],{'$or':_[_0x5589('0x2d')](_0x45cb01,function(_0x18d292){if(_0x18d292[_0x5589('0x2a')]!==_0x5589('0x3c')){var _0x5a66cd={};_0x5a66cd[_0x18d292[_0x5589('0x25')]]={'$like':'%'+_0x1918f0[_0x5589('0x2e')][_0x5589('0x3d')]+'%'};return _0x5a66cd;}})});}_0x4dc3ab=_['merge']({},_0x4dc3ab,_0x1918f0[_0x5589('0x3e')]);var _0x1208dc={'where':_0x4dc3ab[_0x5589('0x3a')]};return db[_0x5589('0x3f')][_0x5589('0x40')](_0x1208dc)[_0x5589('0x22')](function(_0x4bb721){_0x73f354[_0x5589('0x40')]=_0x4bb721;if(_0x1918f0[_0x5589('0x2e')]['includeAll']){_0x4dc3ab[_0x5589('0x41')]=[{'all':!![]}];}return db['SquareRecording'][_0x5589('0x42')](_0x4dc3ab);})[_0x5589('0x22')](function(_0x4dd4e4){_0x73f354[_0x5589('0x43')]=_0x4dd4e4;return _0x73f354;})[_0x5589('0x22')](respondWithFilteredResult(_0x3b33ce,_0x4dc3ab))['catch'](handleError(_0x3b33ce,null));};exports['show']=function(_0x430f71,_0x4a4652){var _0x1d91fc={'raw':!![],'where':{'id':_0x430f71[_0x5589('0x44')]['id']}},_0x3a383d={};_0x3a383d['model']=_[_0x5589('0x2f')](db[_0x5589('0x3f')][_0x5589('0x28')]);_0x3a383d['query']=_[_0x5589('0x2f')](_0x430f71['query']);_0x3a383d[_0x5589('0x30')]=_[_0x5589('0x31')](_0x3a383d['model'],_0x3a383d['query']);_0x1d91fc[_0x5589('0x32')]=_[_0x5589('0x31')](_0x3a383d[_0x5589('0x2c')],qs[_0x5589('0x33')](_0x430f71[_0x5589('0x2e')]['fields']));_0x1d91fc[_0x5589('0x32')]=_0x1d91fc[_0x5589('0x32')][_0x5589('0x34')]?_0x1d91fc['attributes']:_0x3a383d[_0x5589('0x2c')];if(_0x430f71['query'][_0x5589('0x45')]){_0x1d91fc[_0x5589('0x41')]=[{'all':!![]}];}_0x1d91fc=_[_0x5589('0x46')]({},_0x1d91fc,_0x430f71[_0x5589('0x3e')]);return db[_0x5589('0x3f')]['find'](_0x1d91fc)[_0x5589('0x22')](handleEntityNotFound(_0x4a4652,null))[_0x5589('0x22')](respondWithResult(_0x4a4652,null))[_0x5589('0x47')](handleError(_0x4a4652,null));};exports[_0x5589('0x48')]=function(_0x55be85,_0x39b517){return db[_0x5589('0x3f')][_0x5589('0x48')](_0x55be85[_0x5589('0x49')],{})[_0x5589('0x22')](respondWithResult(_0x39b517,0xc9))[_0x5589('0x47')](handleError(_0x39b517,null));};exports[_0x5589('0x20')]=function(_0x169c23,_0x3cafc1){if(_0x169c23[_0x5589('0x49')]['id']){delete _0x169c23['body']['id'];}return db[_0x5589('0x3f')][_0x5589('0x4a')]({'where':{'id':_0x169c23['params']['id']}})[_0x5589('0x22')](handleEntityNotFound(_0x3cafc1,null))[_0x5589('0x22')](saveUpdates(_0x169c23[_0x5589('0x49')],null))['then'](respondWithResult(_0x3cafc1,null))[_0x5589('0x47')](handleError(_0x3cafc1,null));};exports[_0x5589('0x4b')]=function(_0x40ceb1,_0xc45f59,_0x4168d8){var _0x1be8ba=require('../../components/encryptor');var _0xa97b7c=![];var _0x1680e4={};if(_0x40ceb1['query'][_0x5589('0x2a')]&&_0x40ceb1[_0x5589('0x2e')][_0x5589('0x2a')]===_0x5589('0x4c')){_0x1680e4[_0x5589('0x4c')]=_0x40ceb1['params']['id'];}else{_0x1680e4['id']=_0x40ceb1[_0x5589('0x44')]['id'];}return db[_0x5589('0x3f')][_0x5589('0x4a')]({'where':_0x1680e4,'attributes':['id',_0x5589('0x4d'),_0x5589('0x4e')],'raw':!![]})[_0x5589('0x22')](handleEntityNotFound(_0xc45f59,null))[_0x5589('0x22')](function(_0x34b42e){if(_0x34b42e){var _0x595508=_0x34b42e['savePath'];var _0x128f90=util['format'](_0x5589('0x4f'),_0x595508);if(fs[_0x5589('0x50')](_0x128f90)){_0xa97b7c=!![];return _0x1be8ba[_0x5589('0x51')](_0x128f90,_0x595508,config[_0x5589('0x52')][_0x5589('0x53')])['then'](function(){return _0x34b42e;});}return _0x34b42e;}})[_0x5589('0x22')](function(_0x2a5251){if(_0x2a5251){var _0x10f997=_0x2a5251[_0x5589('0x4d')];if(!fs[_0x5589('0x50')](_0x10f997)){throw new db[(_0x5589('0x54'))][(_0x5589('0x55'))]('SquareRecording\x20not\x20found');}if(_0x2a5251['filename']){return _0xc45f59['download'](_0x10f997,_0x2a5251[_0x5589('0x4e')]+path[_0x5589('0x56')](_0x10f997),function(){if(_0xa97b7c){fs[_0x5589('0x57')](_0x10f997);}});}else{return _0xc45f59[_0x5589('0x4b')](_0x10f997,function(_0x468854){if(_0xa97b7c){fs[_0x5589('0x57')](_0x10f997);}});}}})[_0x5589('0x47')](function(_0x141ce){if(_0x141ce[_0x5589('0x58')]==='SquareRecording\x20not\x20found'){_0xc45f59[_0x5589('0x1b')](0x194)[_0x5589('0x26')](_0x5589('0x59'));}else{return handleError(_0xc45f59,null);}});};exports[_0x5589('0x21')]=function(_0x394119,_0x4e03f3){return db[_0x5589('0x3f')][_0x5589('0x4a')]({'where':{'id':_0x394119[_0x5589('0x44')]['id']}})[_0x5589('0x22')](function(_0x7b3f12){if(!_0x7b3f12)throw new ReferenceError(_0x5589('0x5a'));return _0x7b3f12;})[_0x5589('0x22')](function(_0x65d4aa){var _0x50b905=_0x65d4aa[_0x5589('0x4d')];logger['info'](_0x5589('0x5b'),_0x50b905);if(!_[_0x5589('0x5c')](_0x65d4aa[_0x5589('0x4d')])&&fs[_0x5589('0x50')](_0x50b905)){logger[_0x5589('0x5d')](_0x5589('0x5e')+_0x50b905+_0x5589('0x5f'));fs[_0x5589('0x60')](_0x50b905);}_0x50b905=_0x50b905+_0x5589('0x61');if(!_[_0x5589('0x5c')](_0x65d4aa['savePath'])&&fs[_0x5589('0x50')](_0x50b905)){logger[_0x5589('0x5d')](_0x5589('0x5e')+_0x50b905+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x5589('0x60')](_0x50b905);}return _0x65d4aa;})['then'](function(_0x29ee48){if(!_0x29ee48)throw new InternalError();return _0x29ee48[_0x5589('0x21')]();})[_0x5589('0x22')](function(){_0x4e03f3[_0x5589('0x1b')](0xcc)[_0x5589('0x19')]();})['catch'](handleError(_0x4e03f3,null));};