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 _0xb3d2=['params','keys','include','find','create','body','download','../../components/encryptor','uniqueid','savePath','format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','filename','unlink','message','SquareRecording\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','save','update','then','destroy','error','stack','name','send','index','SquareRecording','rawAttributes','fieldName','type','query','filters','intersection','model','attributes','fields','length','nolimit','sort','where','filter','merge','map','VIRTUAL','options','count','includeAll','rows','catch','show'];(function(_0x1a961b,_0x500296){var _0x189044=function(_0x5ccdb8){while(--_0x5ccdb8){_0x1a961b['push'](_0x1a961b['shift']());}};_0x189044(++_0x500296);}(_0xb3d2,0x79));var _0x2b3d=function(_0x16ad48,_0x38b249){_0x16ad48=_0x16ad48-0x0;var _0x32dc05=_0xb3d2[_0x16ad48];return _0x32dc05;};'use strict';var pdf=require(_0x2b3d('0x0'));var emlformat=require(_0x2b3d('0x1'));var rimraf=require(_0x2b3d('0x2'));var zipdir=require(_0x2b3d('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2b3d('0x4'));var moment=require(_0x2b3d('0x5'));var BPromise=require(_0x2b3d('0x6'));var Mustache=require('mustache');var util=require(_0x2b3d('0x7'));var path=require('path');var sox=require(_0x2b3d('0x8'));var csv=require(_0x2b3d('0x9'));var ejs=require(_0x2b3d('0xa'));var fs=require('fs');var _=require(_0x2b3d('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2b3d('0xc'));var deskjs=require(_0x2b3d('0xd'));var toCsv=require('to-csv');var querystring=require(_0x2b3d('0xe'));var Papa=require(_0x2b3d('0xf'));var Redis=require(_0x2b3d('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x2b3d('0x11'));var as=require(_0x2b3d('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2b3d('0x13'))(_0x2b3d('0x14'));var utils=require(_0x2b3d('0x15'));var config=require(_0x2b3d('0x16'));var db=require(_0x2b3d('0x17'))['db'];function respondWithStatusCode(_0x1513ed,_0x26bafd){_0x26bafd=_0x26bafd||0xcc;return function(_0x5f0ba4){if(_0x5f0ba4){return _0x1513ed[_0x2b3d('0x18')](_0x26bafd);}return _0x1513ed[_0x2b3d('0x19')](_0x26bafd)[_0x2b3d('0x1a')]();};}function respondWithResult(_0x2e8326,_0x4e24e8){_0x4e24e8=_0x4e24e8||0xc8;return function(_0x514fe8){if(_0x514fe8){return _0x2e8326[_0x2b3d('0x19')](_0x4e24e8)[_0x2b3d('0x1b')](_0x514fe8);}};}function respondWithFilteredResult(_0x278d12,_0x301ed4){return function(_0x580308){if(_0x580308){var _0x4b0c30=_0x580308['count'],_0x1432e7=_0x301ed4[_0x2b3d('0x1c')],_0x10d71e=_0x301ed4[_0x2b3d('0x1c')]+_0x301ed4[_0x2b3d('0x1d')],_0xf27185;if(_0x10d71e>=_0x4b0c30){_0x10d71e=_0x4b0c30;_0xf27185=0xc8;}else{_0xf27185=0xce;}_0x278d12[_0x2b3d('0x19')](_0xf27185);return _0x278d12[_0x2b3d('0x1e')](_0x2b3d('0x1f'),_0x1432e7+'-'+_0x10d71e+'/'+_0x4b0c30)[_0x2b3d('0x1b')](_0x580308);}return null;};}function patchUpdates(_0xcd6b5d){return function(_0x1ef280){try{jsonpatch['apply'](_0x1ef280,_0xcd6b5d,!![]);}catch(_0x1da31d){return BPromise['reject'](_0x1da31d);}return _0x1ef280[_0x2b3d('0x20')]();};}function saveUpdates(_0x2c650e,_0x3c2a83){return function(_0x2150e4){if(_0x2150e4){return _0x2150e4[_0x2b3d('0x21')](_0x2c650e)[_0x2b3d('0x22')](function(_0x1e4472){return _0x1e4472;});}return null;};}function removeEntity(_0x242a3c,_0xc32978){return function(_0x3ed04b){if(_0x3ed04b){return _0x3ed04b[_0x2b3d('0x23')]()[_0x2b3d('0x22')](function(){_0x242a3c[_0x2b3d('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5b64c9,_0x1e1eaa){return function(_0x4024ad){if(!_0x4024ad){_0x5b64c9[_0x2b3d('0x18')](0x194);}return _0x4024ad;};}function handleError(_0x3c7951,_0x45102c){_0x45102c=_0x45102c||0x1f4;return function(_0x3c2f97){logger[_0x2b3d('0x24')](_0x3c2f97[_0x2b3d('0x25')]);if(_0x3c2f97['name']){delete _0x3c2f97[_0x2b3d('0x26')];}_0x3c7951['status'](_0x45102c)[_0x2b3d('0x27')](_0x3c2f97);};}exports[_0x2b3d('0x28')]=function(_0x52ca01,_0x42f059){var _0x195ba5={},_0x59175e={},_0x1c7947={'count':0x0,'rows':[]};var _0x648c47=_['map'](db[_0x2b3d('0x29')][_0x2b3d('0x2a')],function(_0x43cf46){return{'name':_0x43cf46[_0x2b3d('0x2b')],'type':_0x43cf46[_0x2b3d('0x2c')]['key']};});_0x59175e['model']=_['map'](_0x648c47,_0x2b3d('0x26'));_0x59175e['query']=_['keys'](_0x52ca01[_0x2b3d('0x2d')]);_0x59175e[_0x2b3d('0x2e')]=_[_0x2b3d('0x2f')](_0x59175e[_0x2b3d('0x30')],_0x59175e[_0x2b3d('0x2d')]);_0x195ba5[_0x2b3d('0x31')]=_[_0x2b3d('0x2f')](_0x59175e['model'],qs[_0x2b3d('0x32')](_0x52ca01[_0x2b3d('0x2d')][_0x2b3d('0x32')]));_0x195ba5[_0x2b3d('0x31')]=_0x195ba5[_0x2b3d('0x31')][_0x2b3d('0x33')]?_0x195ba5[_0x2b3d('0x31')]:_0x59175e[_0x2b3d('0x30')];if(!_0x52ca01[_0x2b3d('0x2d')]['hasOwnProperty'](_0x2b3d('0x34'))){_0x195ba5['limit']=qs['limit'](_0x52ca01[_0x2b3d('0x2d')][_0x2b3d('0x1d')]);_0x195ba5[_0x2b3d('0x1c')]=qs[_0x2b3d('0x1c')](_0x52ca01[_0x2b3d('0x2d')][_0x2b3d('0x1c')]);}_0x195ba5['order']=qs[_0x2b3d('0x35')](_0x52ca01[_0x2b3d('0x2d')]['sort']);_0x195ba5[_0x2b3d('0x36')]=qs[_0x2b3d('0x2e')](_['pick'](_0x52ca01['query'],_0x59175e[_0x2b3d('0x2e')]));if(_0x52ca01[_0x2b3d('0x2d')][_0x2b3d('0x37')]){_0x195ba5[_0x2b3d('0x36')]=_[_0x2b3d('0x38')](_0x195ba5[_0x2b3d('0x36')],{'$or':_[_0x2b3d('0x39')](_0x648c47,function(_0x1bda87){if(_0x1bda87['type']!==_0x2b3d('0x3a')){var _0x48c16b={};_0x48c16b[_0x1bda87[_0x2b3d('0x26')]]={'$like':'%'+_0x52ca01[_0x2b3d('0x2d')]['filter']+'%'};return _0x48c16b;}})});}_0x195ba5=_[_0x2b3d('0x38')]({},_0x195ba5,_0x52ca01[_0x2b3d('0x3b')]);var _0xfd02ec={'where':_0x195ba5['where']};return db[_0x2b3d('0x29')][_0x2b3d('0x3c')](_0xfd02ec)[_0x2b3d('0x22')](function(_0x43f890){_0x1c7947[_0x2b3d('0x3c')]=_0x43f890;if(_0x52ca01['query'][_0x2b3d('0x3d')]){_0x195ba5['include']=[{'all':!![]}];}return db[_0x2b3d('0x29')]['findAll'](_0x195ba5);})[_0x2b3d('0x22')](function(_0x5f424a){_0x1c7947[_0x2b3d('0x3e')]=_0x5f424a;return _0x1c7947;})[_0x2b3d('0x22')](respondWithFilteredResult(_0x42f059,_0x195ba5))[_0x2b3d('0x3f')](handleError(_0x42f059,null));};exports[_0x2b3d('0x40')]=function(_0x370074,_0x55dcbb){var _0x3af9c8={'raw':!![],'where':{'id':_0x370074[_0x2b3d('0x41')]['id']}},_0x580ab4={};_0x580ab4[_0x2b3d('0x30')]=_['keys'](db[_0x2b3d('0x29')]['rawAttributes']);_0x580ab4[_0x2b3d('0x2d')]=_[_0x2b3d('0x42')](_0x370074[_0x2b3d('0x2d')]);_0x580ab4['filters']=_[_0x2b3d('0x2f')](_0x580ab4[_0x2b3d('0x30')],_0x580ab4['query']);_0x3af9c8[_0x2b3d('0x31')]=_['intersection'](_0x580ab4['model'],qs['fields'](_0x370074[_0x2b3d('0x2d')][_0x2b3d('0x32')]));_0x3af9c8[_0x2b3d('0x31')]=_0x3af9c8[_0x2b3d('0x31')]['length']?_0x3af9c8['attributes']:_0x580ab4['model'];if(_0x370074[_0x2b3d('0x2d')]['includeAll']){_0x3af9c8[_0x2b3d('0x43')]=[{'all':!![]}];}_0x3af9c8=_[_0x2b3d('0x38')]({},_0x3af9c8,_0x370074[_0x2b3d('0x3b')]);return db[_0x2b3d('0x29')][_0x2b3d('0x44')](_0x3af9c8)[_0x2b3d('0x22')](handleEntityNotFound(_0x55dcbb,null))[_0x2b3d('0x22')](respondWithResult(_0x55dcbb,null))[_0x2b3d('0x3f')](handleError(_0x55dcbb,null));};exports['create']=function(_0x3095c5,_0x598875){return db[_0x2b3d('0x29')][_0x2b3d('0x45')](_0x3095c5['body'],{})[_0x2b3d('0x22')](respondWithResult(_0x598875,0xc9))[_0x2b3d('0x3f')](handleError(_0x598875,null));};exports[_0x2b3d('0x21')]=function(_0x5273d8,_0x5e9b6f){if(_0x5273d8[_0x2b3d('0x46')]['id']){delete _0x5273d8['body']['id'];}return db[_0x2b3d('0x29')][_0x2b3d('0x44')]({'where':{'id':_0x5273d8['params']['id']}})[_0x2b3d('0x22')](handleEntityNotFound(_0x5e9b6f,null))['then'](saveUpdates(_0x5273d8[_0x2b3d('0x46')],null))[_0x2b3d('0x22')](respondWithResult(_0x5e9b6f,null))['catch'](handleError(_0x5e9b6f,null));};exports[_0x2b3d('0x47')]=function(_0x27bd47,_0x6c3f3,_0x1a904a){var _0x43d345=require(_0x2b3d('0x48'));var _0x2dce61=![];var _0x4907ba={};if(_0x27bd47[_0x2b3d('0x2d')][_0x2b3d('0x2c')]&&_0x27bd47['query'][_0x2b3d('0x2c')]==='uniqueid'){_0x4907ba[_0x2b3d('0x49')]=_0x27bd47[_0x2b3d('0x41')]['id'];}else{_0x4907ba['id']=_0x27bd47['params']['id'];}return db[_0x2b3d('0x29')]['find']({'where':_0x4907ba,'attributes':['id',_0x2b3d('0x4a'),'filename'],'raw':!![]})[_0x2b3d('0x22')](handleEntityNotFound(_0x6c3f3,null))['then'](function(_0x47b23c){if(_0x47b23c){var _0x539d1c=_0x47b23c[_0x2b3d('0x4a')];var _0x40daad=util[_0x2b3d('0x4b')](_0x2b3d('0x4c'),_0x539d1c);if(fs[_0x2b3d('0x4d')](_0x40daad)){_0x2dce61=!![];return _0x43d345[_0x2b3d('0x4e')](_0x40daad,_0x539d1c,config[_0x2b3d('0x4f')][_0x2b3d('0x50')])['then'](function(){return _0x47b23c;});}return _0x47b23c;}})[_0x2b3d('0x22')](function(_0x3b307d){if(_0x3b307d){var _0x5242f5=_0x3b307d['savePath'];if(!fs['existsSync'](_0x5242f5)){throw new db[(_0x2b3d('0x51'))]['ValidationError']('SquareRecording\x20not\x20found');}if(_0x3b307d[_0x2b3d('0x52')]){return _0x6c3f3[_0x2b3d('0x47')](_0x5242f5,_0x3b307d[_0x2b3d('0x52')]+path['extname'](_0x5242f5),function(){if(_0x2dce61){fs[_0x2b3d('0x53')](_0x5242f5);}});}else{return _0x6c3f3[_0x2b3d('0x47')](_0x5242f5,function(_0x53cf25){if(_0x2dce61){fs['unlink'](_0x5242f5);}});}}})[_0x2b3d('0x3f')](function(_0x48faa0){if(_0x48faa0[_0x2b3d('0x54')]===_0x2b3d('0x55')){_0x6c3f3[_0x2b3d('0x19')](0x194)['send']('Not\x20found');}else{return handleError(_0x6c3f3,null);}});};exports[_0x2b3d('0x23')]=function(_0xf2e0e8,_0x3bc834){return db[_0x2b3d('0x29')][_0x2b3d('0x44')]({'where':{'id':_0xf2e0e8[_0x2b3d('0x41')]['id']}})[_0x2b3d('0x22')](function(_0x36fb4b){if(!_0x36fb4b)throw new ReferenceError('Entity\x20not\x20found');return _0x36fb4b;})['then'](function(_0x5ac55c){var _0x278a99=_0x5ac55c[_0x2b3d('0x4a')];logger[_0x2b3d('0x56')](_0x2b3d('0x57'),_0x278a99);if(!_['isNil'](_0x5ac55c[_0x2b3d('0x4a')])&&fs[_0x2b3d('0x4d')](_0x278a99)){logger[_0x2b3d('0x56')](_0x2b3d('0x58')+_0x278a99+_0x2b3d('0x59'));fs[_0x2b3d('0x5a')](_0x278a99);}_0x278a99=_0x278a99+_0x2b3d('0x5b');if(!_[_0x2b3d('0x5c')](_0x5ac55c[_0x2b3d('0x4a')])&&fs[_0x2b3d('0x4d')](_0x278a99)){logger['info'](_0x2b3d('0x58')+_0x278a99+_0x2b3d('0x59'));fs[_0x2b3d('0x5a')](_0x278a99);}return _0x5ac55c;})[_0x2b3d('0x22')](function(_0x2d5e1e){if(!_0x2d5e1e)throw new InternalError();return _0x2d5e1e['destroy']();})[_0x2b3d('0x22')](function(){_0x3bc834[_0x2b3d('0x19')](0xcc)['end']();})[_0x2b3d('0x3f')](handleError(_0x3bc834,null));};