Built motion from commit (unavailable).|2.5.4
[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 _0xbd6c=['options','count','include','findAll','show','params','keys','find','catch','create','body','download','../../components/encryptor','uniqueid','filename','savePath','format','%s.cypher','secrets','recording','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','message','Not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','unlinkSync','.cypher','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','eml-format','zip-dir','request-promise','moment','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','status','end','json','offset','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','model','query','filters','intersection','fields','attributes','limit','order','where','pick','filter','merge','VIRTUAL'];(function(_0x563b43,_0x341474){var _0x1fb9e9=function(_0x49ff44){while(--_0x49ff44){_0x563b43['push'](_0x563b43['shift']());}};_0x1fb9e9(++_0x341474);}(_0xbd6c,0x1f4));var _0xcbd6=function(_0x397e5f,_0x454c8f){_0x397e5f=_0x397e5f-0x0;var _0x5302b8=_0xbd6c[_0x397e5f];return _0x5302b8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xcbd6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xcbd6('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcbd6('0x2'));var moment=require(_0xcbd6('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xcbd6('0x4'));var sox=require(_0xcbd6('0x5'));var csv=require(_0xcbd6('0x6'));var ejs=require(_0xcbd6('0x7'));var fs=require('fs');var _=require(_0xcbd6('0x8'));var squel=require(_0xcbd6('0x9'));var crypto=require(_0xcbd6('0xa'));var jsforce=require(_0xcbd6('0xb'));var deskjs=require(_0xcbd6('0xc'));var toCsv=require('to-csv');var querystring=require(_0xcbd6('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xcbd6('0xe'));var qs=require(_0xcbd6('0xf'));var as=require(_0xcbd6('0x10'));var hardwareService=require(_0xcbd6('0x11'));var logger=require(_0xcbd6('0x12'))(_0xcbd6('0x13'));var utils=require('../../config/utils');var config=require(_0xcbd6('0x14'));var db=require(_0xcbd6('0x15'))['db'];function respondWithStatusCode(_0x1f7612,_0x197747){_0x197747=_0x197747||0xcc;return function(_0x8d3c40){if(_0x8d3c40){return _0x1f7612['sendStatus'](_0x197747);}return _0x1f7612[_0xcbd6('0x16')](_0x197747)[_0xcbd6('0x17')]();};}function respondWithResult(_0x5343c9,_0x5e4c0f){_0x5e4c0f=_0x5e4c0f||0xc8;return function(_0x147070){if(_0x147070){return _0x5343c9[_0xcbd6('0x16')](_0x5e4c0f)[_0xcbd6('0x18')](_0x147070);}};}function respondWithFilteredResult(_0x2dfe2a,_0x53eeae){return function(_0xb061e5){if(_0xb061e5){var _0x3bb4de=_0xb061e5['count'],_0x3ea026=_0x53eeae['offset'],_0x57f2ca=_0x53eeae[_0xcbd6('0x19')]+_0x53eeae['limit'],_0x1de734;if(_0x57f2ca>=_0x3bb4de){_0x57f2ca=_0x3bb4de;_0x1de734=0xc8;}else{_0x1de734=0xce;}_0x2dfe2a[_0xcbd6('0x16')](_0x1de734);return _0x2dfe2a[_0xcbd6('0x1a')](_0xcbd6('0x1b'),_0x3ea026+'-'+_0x57f2ca+'/'+_0x3bb4de)['json'](_0xb061e5);}return null;};}function patchUpdates(_0x326420){return function(_0xa4deac){try{jsonpatch[_0xcbd6('0x1c')](_0xa4deac,_0x326420,!![]);}catch(_0x372a13){return BPromise[_0xcbd6('0x1d')](_0x372a13);}return _0xa4deac[_0xcbd6('0x1e')]();};}function saveUpdates(_0x4b7378,_0xff33db){return function(_0x5d30df){if(_0x5d30df){return _0x5d30df[_0xcbd6('0x1f')](_0x4b7378)[_0xcbd6('0x20')](function(_0x3c2abf){return _0x3c2abf;});}return null;};}function removeEntity(_0x593d90,_0x4f4c13){return function(_0x2430fc){if(_0x2430fc){return _0x2430fc[_0xcbd6('0x21')]()[_0xcbd6('0x20')](function(){_0x593d90['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5c4d23,_0x7312d8){return function(_0x4e9ccc){if(!_0x4e9ccc){_0x5c4d23[_0xcbd6('0x22')](0x194);}return _0x4e9ccc;};}function handleError(_0x1e2202,_0x4c3f87){_0x4c3f87=_0x4c3f87||0x1f4;return function(_0x5cbacf){logger[_0xcbd6('0x23')](_0x5cbacf[_0xcbd6('0x24')]);if(_0x5cbacf['name']){delete _0x5cbacf[_0xcbd6('0x25')];}_0x1e2202[_0xcbd6('0x16')](_0x4c3f87)[_0xcbd6('0x26')](_0x5cbacf);};}exports[_0xcbd6('0x27')]=function(_0xe0eb53,_0x44547b){var _0x4d7878={},_0x4edf13={},_0x5eaad0={'count':0x0,'rows':[]};var _0x1e2863=_[_0xcbd6('0x28')](db[_0xcbd6('0x29')][_0xcbd6('0x2a')],function(_0xb0f804){return{'name':_0xb0f804[_0xcbd6('0x2b')],'type':_0xb0f804[_0xcbd6('0x2c')]['key']};});_0x4edf13[_0xcbd6('0x2d')]=_[_0xcbd6('0x28')](_0x1e2863,'name');_0x4edf13[_0xcbd6('0x2e')]=_['keys'](_0xe0eb53[_0xcbd6('0x2e')]);_0x4edf13[_0xcbd6('0x2f')]=_[_0xcbd6('0x30')](_0x4edf13['model'],_0x4edf13[_0xcbd6('0x2e')]);_0x4d7878['attributes']=_[_0xcbd6('0x30')](_0x4edf13[_0xcbd6('0x2d')],qs[_0xcbd6('0x31')](_0xe0eb53[_0xcbd6('0x2e')][_0xcbd6('0x31')]));_0x4d7878[_0xcbd6('0x32')]=_0x4d7878[_0xcbd6('0x32')]['length']?_0x4d7878[_0xcbd6('0x32')]:_0x4edf13[_0xcbd6('0x2d')];if(!_0xe0eb53[_0xcbd6('0x2e')]['hasOwnProperty']('nolimit')){_0x4d7878[_0xcbd6('0x33')]=qs[_0xcbd6('0x33')](_0xe0eb53['query'][_0xcbd6('0x33')]);_0x4d7878[_0xcbd6('0x19')]=qs['offset'](_0xe0eb53[_0xcbd6('0x2e')][_0xcbd6('0x19')]);}_0x4d7878[_0xcbd6('0x34')]=qs['sort'](_0xe0eb53[_0xcbd6('0x2e')]['sort']);_0x4d7878[_0xcbd6('0x35')]=qs[_0xcbd6('0x2f')](_[_0xcbd6('0x36')](_0xe0eb53['query'],_0x4edf13[_0xcbd6('0x2f')]),_0x1e2863);if(_0xe0eb53['query'][_0xcbd6('0x37')]){_0x4d7878[_0xcbd6('0x35')]=_[_0xcbd6('0x38')](_0x4d7878[_0xcbd6('0x35')],{'$or':_['map'](_0x1e2863,function(_0x26e916){if(_0x26e916['type']!==_0xcbd6('0x39')){var _0x10c728={};_0x10c728[_0x26e916[_0xcbd6('0x25')]]={'$like':'%'+_0xe0eb53['query'][_0xcbd6('0x37')]+'%'};return _0x10c728;}})});}_0x4d7878=_['merge']({},_0x4d7878,_0xe0eb53[_0xcbd6('0x3a')]);var _0x5bd303={'where':_0x4d7878[_0xcbd6('0x35')]};return db[_0xcbd6('0x29')][_0xcbd6('0x3b')](_0x5bd303)[_0xcbd6('0x20')](function(_0x2ef7fd){_0x5eaad0[_0xcbd6('0x3b')]=_0x2ef7fd;if(_0xe0eb53[_0xcbd6('0x2e')]['includeAll']){_0x4d7878[_0xcbd6('0x3c')]=[{'all':!![]}];}return db[_0xcbd6('0x29')][_0xcbd6('0x3d')](_0x4d7878);})['then'](function(_0x4c1df3){_0x5eaad0['rows']=_0x4c1df3;return _0x5eaad0;})[_0xcbd6('0x20')](respondWithFilteredResult(_0x44547b,_0x4d7878))['catch'](handleError(_0x44547b,null));};exports[_0xcbd6('0x3e')]=function(_0x1607a9,_0x19b678){var _0x27a53e={'raw':!![],'where':{'id':_0x1607a9[_0xcbd6('0x3f')]['id']}},_0x360f2a={};_0x360f2a[_0xcbd6('0x2d')]=_[_0xcbd6('0x40')](db['SquareRecording'][_0xcbd6('0x2a')]);_0x360f2a[_0xcbd6('0x2e')]=_['keys'](_0x1607a9[_0xcbd6('0x2e')]);_0x360f2a[_0xcbd6('0x2f')]=_[_0xcbd6('0x30')](_0x360f2a[_0xcbd6('0x2d')],_0x360f2a[_0xcbd6('0x2e')]);_0x27a53e[_0xcbd6('0x32')]=_[_0xcbd6('0x30')](_0x360f2a[_0xcbd6('0x2d')],qs[_0xcbd6('0x31')](_0x1607a9['query']['fields']));_0x27a53e[_0xcbd6('0x32')]=_0x27a53e[_0xcbd6('0x32')]['length']?_0x27a53e[_0xcbd6('0x32')]:_0x360f2a[_0xcbd6('0x2d')];if(_0x1607a9[_0xcbd6('0x2e')]['includeAll']){_0x27a53e[_0xcbd6('0x3c')]=[{'all':!![]}];}_0x27a53e=_[_0xcbd6('0x38')]({},_0x27a53e,_0x1607a9[_0xcbd6('0x3a')]);return db[_0xcbd6('0x29')][_0xcbd6('0x41')](_0x27a53e)[_0xcbd6('0x20')](handleEntityNotFound(_0x19b678,null))['then'](respondWithResult(_0x19b678,null))[_0xcbd6('0x42')](handleError(_0x19b678,null));};exports[_0xcbd6('0x43')]=function(_0x2685db,_0x12304a){return db[_0xcbd6('0x29')][_0xcbd6('0x43')](_0x2685db['body'],{})[_0xcbd6('0x20')](respondWithResult(_0x12304a,0xc9))[_0xcbd6('0x42')](handleError(_0x12304a,null));};exports[_0xcbd6('0x1f')]=function(_0x8d134d,_0x4be1c3){if(_0x8d134d[_0xcbd6('0x44')]['id']){delete _0x8d134d[_0xcbd6('0x44')]['id'];}return db['SquareRecording'][_0xcbd6('0x41')]({'where':{'id':_0x8d134d['params']['id']}})[_0xcbd6('0x20')](handleEntityNotFound(_0x4be1c3,null))[_0xcbd6('0x20')](saveUpdates(_0x8d134d[_0xcbd6('0x44')],null))[_0xcbd6('0x20')](respondWithResult(_0x4be1c3,null))[_0xcbd6('0x42')](handleError(_0x4be1c3,null));};exports[_0xcbd6('0x45')]=function(_0x2a3ddd,_0x32a1f8,_0x249cbb){var _0x286930=require(_0xcbd6('0x46'));var _0x261cba=![];var _0x568b67={};if(_0x2a3ddd[_0xcbd6('0x2e')][_0xcbd6('0x2c')]&&_0x2a3ddd['query'][_0xcbd6('0x2c')]===_0xcbd6('0x47')){_0x568b67['uniqueid']=_0x2a3ddd['params']['id'];}else{_0x568b67['id']=_0x2a3ddd[_0xcbd6('0x3f')]['id'];}return db[_0xcbd6('0x29')][_0xcbd6('0x41')]({'where':_0x568b67,'attributes':['id','savePath',_0xcbd6('0x48')],'raw':!![]})['then'](handleEntityNotFound(_0x32a1f8,null))[_0xcbd6('0x20')](function(_0x1fea5b){if(_0x1fea5b){var _0xd621a3=_0x1fea5b[_0xcbd6('0x49')];var _0x1eac76=util[_0xcbd6('0x4a')](_0xcbd6('0x4b'),_0xd621a3);if(fs['existsSync'](_0x1eac76)){_0x261cba=!![];return _0x286930['decryptFile'](_0x1eac76,_0xd621a3,config[_0xcbd6('0x4c')][_0xcbd6('0x4d')])[_0xcbd6('0x20')](function(){return _0x1fea5b;});}return _0x1fea5b;}})['then'](function(_0x1bedae){if(_0x1bedae){var _0x52b378=_0x1bedae[_0xcbd6('0x49')];if(!fs[_0xcbd6('0x4e')](_0x52b378)){throw new db[(_0xcbd6('0x4f'))][(_0xcbd6('0x50'))](_0xcbd6('0x51'));}if(_0x1bedae[_0xcbd6('0x48')]){return _0x32a1f8[_0xcbd6('0x45')](_0x52b378,_0x1bedae[_0xcbd6('0x48')]+path[_0xcbd6('0x52')](_0x52b378),function(){if(_0x261cba){fs[_0xcbd6('0x53')](_0x52b378);}});}else{return _0x32a1f8['download'](_0x52b378,function(_0x4e1dba){if(_0x261cba){fs['unlink'](_0x52b378);}});}}})[_0xcbd6('0x42')](function(_0x2cddae){if(_0x2cddae[_0xcbd6('0x54')]==='SquareRecording\x20not\x20found'){_0x32a1f8[_0xcbd6('0x16')](0x194)[_0xcbd6('0x26')](_0xcbd6('0x55'));}else{return handleError(_0x32a1f8,null);}});};exports[_0xcbd6('0x21')]=function(_0x54da42,_0x19fef6){return db['SquareRecording'][_0xcbd6('0x41')]({'where':{'id':_0x54da42[_0xcbd6('0x3f')]['id']}})[_0xcbd6('0x20')](function(_0x4fa01b){if(!_0x4fa01b)throw new ReferenceError('Entity\x20not\x20found');return _0x4fa01b;})[_0xcbd6('0x20')](function(_0x199cf1){var _0x579df7=_0x199cf1[_0xcbd6('0x49')];logger[_0xcbd6('0x56')](_0xcbd6('0x57'),_0x579df7);if(!_[_0xcbd6('0x58')](_0x199cf1[_0xcbd6('0x49')])&&fs['existsSync'](_0x579df7)){logger[_0xcbd6('0x56')]('File:\x20\x22'+_0x579df7+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xcbd6('0x59')](_0x579df7);}_0x579df7=_0x579df7+_0xcbd6('0x5a');if(!_[_0xcbd6('0x58')](_0x199cf1[_0xcbd6('0x49')])&&fs[_0xcbd6('0x4e')](_0x579df7)){logger[_0xcbd6('0x56')](_0xcbd6('0x5b')+_0x579df7+_0xcbd6('0x5c'));fs['unlinkSync'](_0x579df7);}return _0x199cf1;})['then'](function(_0x24033b){if(!_0x24033b)throw new InternalError();return _0x24033b['destroy']();})['then'](function(){_0x19fef6[_0xcbd6('0x16')](0xcc)[_0xcbd6('0x17')]();})[_0xcbd6('0x42')](handleError(_0x19fef6,null));};