Built motion from commit (unavailable).|2.5.22
[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 _0xf84b=['where','pick','filter','VIRTUAL','merge','options','includeAll','findAll','rows','catch','show','include','create','body','find','params','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','SquareRecording\x20not\x20found','extname','unlink','message','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','rimraf','moment','bluebird','util','sox','to-csv','ejs','lodash','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/environment','../../mysqldb','sendStatus','end','status','count','offset','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order'];(function(_0x5d06d8,_0x3ae99f){var _0x2ae557=function(_0x1e0905){while(--_0x1e0905){_0x5d06d8['push'](_0x5d06d8['shift']());}};_0x2ae557(++_0x3ae99f);}(_0xf84b,0x139));var _0xbf84=function(_0x2d9320,_0x303c7e){_0x2d9320=_0x2d9320-0x0;var _0x3b43d8=_0xf84b[_0x2d9320];return _0x3b43d8;};'use strict';var pdf=require(_0xbf84('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xbf84('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xbf84('0x2'));var BPromise=require(_0xbf84('0x3'));var Mustache=require('mustache');var util=require(_0xbf84('0x4'));var path=require('path');var sox=require(_0xbf84('0x5'));var csv=require(_0xbf84('0x6'));var ejs=require(_0xbf84('0x7'));var fs=require('fs');var _=require(_0xbf84('0x8'));var squel=require('squel');var crypto=require(_0xbf84('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xbf84('0x6'));var querystring=require(_0xbf84('0xa'));var Papa=require('papaparse');var Redis=require(_0xbf84('0xb'));var authService=require(_0xbf84('0xc'));var qs=require(_0xbf84('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbf84('0xe'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xbf84('0xf'));var licenseUtil=require('../../config/license/util');var db=require(_0xbf84('0x10'))['db'];function respondWithStatusCode(_0x7bbe54,_0x276f93){_0x276f93=_0x276f93||0xcc;return function(_0x366876){if(_0x366876){return _0x7bbe54[_0xbf84('0x11')](_0x276f93);}return _0x7bbe54['status'](_0x276f93)[_0xbf84('0x12')]();};}function respondWithResult(_0x1bab80,_0x14a61c){_0x14a61c=_0x14a61c||0xc8;return function(_0x20f703){if(_0x20f703){return _0x1bab80[_0xbf84('0x13')](_0x14a61c)['json'](_0x20f703);}};}function respondWithFilteredResult(_0x38b08c,_0x32ba07){return function(_0x8bb34){if(_0x8bb34){var _0x1f0773=_0x8bb34[_0xbf84('0x14')],_0x757816=_0x32ba07['offset'],_0x1ecd11=_0x32ba07[_0xbf84('0x15')]+_0x32ba07['limit'],_0x468413;if(_0x1ecd11>=_0x1f0773){_0x1ecd11=_0x1f0773;_0x468413=0xc8;}else{_0x468413=0xce;}_0x38b08c['status'](_0x468413);return _0x38b08c[_0xbf84('0x16')](_0xbf84('0x17'),_0x757816+'-'+_0x1ecd11+'/'+_0x1f0773)['json'](_0x8bb34);}return null;};}function patchUpdates(_0x5d9568){return function(_0x2ddd27){try{jsonpatch[_0xbf84('0x18')](_0x2ddd27,_0x5d9568,!![]);}catch(_0x2eedd4){return BPromise['reject'](_0x2eedd4);}return _0x2ddd27[_0xbf84('0x19')]();};}function saveUpdates(_0x5a5d89,_0x95cacc){return function(_0x16a604){if(_0x16a604){return _0x16a604[_0xbf84('0x1a')](_0x5a5d89)[_0xbf84('0x1b')](function(_0x21c57c){return _0x21c57c;});}return null;};}function removeEntity(_0x409269,_0xe7370c){return function(_0x499223){if(_0x499223){return _0x499223[_0xbf84('0x1c')]()[_0xbf84('0x1b')](function(){_0x409269[_0xbf84('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0x44f766,_0xe53ea9){return function(_0x5ae5ed){if(!_0x5ae5ed){_0x44f766[_0xbf84('0x11')](0x194);}return _0x5ae5ed;};}function handleError(_0x24d445,_0x4fa4b2){_0x4fa4b2=_0x4fa4b2||0x1f4;return function(_0x2fa057){logger[_0xbf84('0x1d')](_0x2fa057[_0xbf84('0x1e')]);if(_0x2fa057[_0xbf84('0x1f')]){delete _0x2fa057[_0xbf84('0x1f')];}_0x24d445[_0xbf84('0x13')](_0x4fa4b2)[_0xbf84('0x20')](_0x2fa057);};}exports[_0xbf84('0x21')]=function(_0xcb58ed,_0x8df152){var _0x47df5e={},_0x3d5f8f={},_0x4e1b04={'count':0x0,'rows':[]};var _0x4e816d=_[_0xbf84('0x22')](db[_0xbf84('0x23')][_0xbf84('0x24')],function(_0x53eadd){return{'name':_0x53eadd[_0xbf84('0x25')],'type':_0x53eadd[_0xbf84('0x26')]['key']};});_0x3d5f8f['model']=_[_0xbf84('0x22')](_0x4e816d,_0xbf84('0x1f'));_0x3d5f8f[_0xbf84('0x27')]=_[_0xbf84('0x28')](_0xcb58ed[_0xbf84('0x27')]);_0x3d5f8f[_0xbf84('0x29')]=_[_0xbf84('0x2a')](_0x3d5f8f[_0xbf84('0x2b')],_0x3d5f8f['query']);_0x47df5e[_0xbf84('0x2c')]=_[_0xbf84('0x2a')](_0x3d5f8f[_0xbf84('0x2b')],qs[_0xbf84('0x2d')](_0xcb58ed[_0xbf84('0x27')][_0xbf84('0x2d')]));_0x47df5e['attributes']=_0x47df5e['attributes'][_0xbf84('0x2e')]?_0x47df5e[_0xbf84('0x2c')]:_0x3d5f8f[_0xbf84('0x2b')];if(!_0xcb58ed[_0xbf84('0x27')][_0xbf84('0x2f')](_0xbf84('0x30'))){_0x47df5e[_0xbf84('0x31')]=qs[_0xbf84('0x31')](_0xcb58ed[_0xbf84('0x27')][_0xbf84('0x31')]);_0x47df5e[_0xbf84('0x15')]=qs[_0xbf84('0x15')](_0xcb58ed[_0xbf84('0x27')][_0xbf84('0x15')]);}_0x47df5e[_0xbf84('0x32')]=qs['sort'](_0xcb58ed[_0xbf84('0x27')]['sort']);_0x47df5e[_0xbf84('0x33')]=qs[_0xbf84('0x29')](_[_0xbf84('0x34')](_0xcb58ed[_0xbf84('0x27')],_0x3d5f8f[_0xbf84('0x29')]),_0x4e816d);if(_0xcb58ed[_0xbf84('0x27')][_0xbf84('0x35')]){_0x47df5e['where']=_['merge'](_0x47df5e[_0xbf84('0x33')],{'$or':_[_0xbf84('0x22')](_0x4e816d,function(_0xb07f13){if(_0xb07f13['type']!==_0xbf84('0x36')){var _0x2358c1={};_0x2358c1[_0xb07f13[_0xbf84('0x1f')]]={'$like':'%'+_0xcb58ed[_0xbf84('0x27')]['filter']+'%'};return _0x2358c1;}})});}_0x47df5e=_[_0xbf84('0x37')]({},_0x47df5e,_0xcb58ed[_0xbf84('0x38')]);var _0x47a52d={'where':_0x47df5e['where']};return db[_0xbf84('0x23')][_0xbf84('0x14')](_0x47a52d)[_0xbf84('0x1b')](function(_0x2217e2){_0x4e1b04[_0xbf84('0x14')]=_0x2217e2;if(_0xcb58ed['query'][_0xbf84('0x39')]){_0x47df5e['include']=[{'all':!![]}];}return db[_0xbf84('0x23')][_0xbf84('0x3a')](_0x47df5e);})[_0xbf84('0x1b')](function(_0x49c4b4){_0x4e1b04[_0xbf84('0x3b')]=_0x49c4b4;return _0x4e1b04;})[_0xbf84('0x1b')](respondWithFilteredResult(_0x8df152,_0x47df5e))[_0xbf84('0x3c')](handleError(_0x8df152,null));};exports[_0xbf84('0x3d')]=function(_0x1c4860,_0x55f515){var _0x4b9a49={'raw':!![],'where':{'id':_0x1c4860['params']['id']}},_0x283417={};_0x283417[_0xbf84('0x2b')]=_[_0xbf84('0x28')](db[_0xbf84('0x23')]['rawAttributes']);_0x283417['query']=_[_0xbf84('0x28')](_0x1c4860[_0xbf84('0x27')]);_0x283417[_0xbf84('0x29')]=_[_0xbf84('0x2a')](_0x283417[_0xbf84('0x2b')],_0x283417[_0xbf84('0x27')]);_0x4b9a49[_0xbf84('0x2c')]=_[_0xbf84('0x2a')](_0x283417['model'],qs['fields'](_0x1c4860[_0xbf84('0x27')]['fields']));_0x4b9a49[_0xbf84('0x2c')]=_0x4b9a49[_0xbf84('0x2c')][_0xbf84('0x2e')]?_0x4b9a49['attributes']:_0x283417[_0xbf84('0x2b')];if(_0x1c4860[_0xbf84('0x27')]['includeAll']){_0x4b9a49[_0xbf84('0x3e')]=[{'all':!![]}];}_0x4b9a49=_['merge']({},_0x4b9a49,_0x1c4860['options']);return db[_0xbf84('0x23')]['find'](_0x4b9a49)['then'](handleEntityNotFound(_0x55f515,null))[_0xbf84('0x1b')](respondWithResult(_0x55f515,null))[_0xbf84('0x3c')](handleError(_0x55f515,null));};exports[_0xbf84('0x3f')]=function(_0x34e5d4,_0x182188){return db['SquareRecording'][_0xbf84('0x3f')](_0x34e5d4[_0xbf84('0x40')],{})['then'](respondWithResult(_0x182188,0xc9))[_0xbf84('0x3c')](handleError(_0x182188,null));};exports[_0xbf84('0x1a')]=function(_0x5baaeb,_0x3636b1){if(_0x5baaeb[_0xbf84('0x40')]['id']){delete _0x5baaeb['body']['id'];}return db[_0xbf84('0x23')][_0xbf84('0x41')]({'where':{'id':_0x5baaeb[_0xbf84('0x42')]['id']}})[_0xbf84('0x1b')](handleEntityNotFound(_0x3636b1,null))[_0xbf84('0x1b')](saveUpdates(_0x5baaeb['body'],null))[_0xbf84('0x1b')](respondWithResult(_0x3636b1,null))['catch'](handleError(_0x3636b1,null));};exports[_0xbf84('0x43')]=function(_0x362adb,_0x2389c5,_0xdb518c){var _0x3e4780=require(_0xbf84('0x44'));var _0x2d87f8=![];var _0x20125a={};if(_0x362adb[_0xbf84('0x27')]['type']&&_0x362adb['query'][_0xbf84('0x26')]===_0xbf84('0x45')){_0x20125a['uniqueid']=_0x362adb[_0xbf84('0x42')]['id'];}else{_0x20125a['id']=_0x362adb['params']['id'];}return db[_0xbf84('0x23')][_0xbf84('0x41')]({'where':_0x20125a,'attributes':['id',_0xbf84('0x46'),_0xbf84('0x47')],'raw':!![]})[_0xbf84('0x1b')](handleEntityNotFound(_0x2389c5,null))[_0xbf84('0x1b')](function(_0x2b3320){if(_0x2b3320){var _0x2fb654=_0x2b3320['savePath'];var _0x5e87a8=util[_0xbf84('0x48')](_0xbf84('0x49'),_0x2fb654);if(fs[_0xbf84('0x4a')](_0x5e87a8)){_0x2d87f8=!![];return _0x3e4780[_0xbf84('0x4b')](_0x5e87a8,_0x2fb654,config[_0xbf84('0x4c')][_0xbf84('0x4d')])[_0xbf84('0x1b')](function(){return _0x2b3320;});}return _0x2b3320;}})[_0xbf84('0x1b')](function(_0x5711b8){if(_0x5711b8){var _0x1a13e9=_0x5711b8[_0xbf84('0x46')];if(!fs[_0xbf84('0x4a')](_0x1a13e9)){throw new db[(_0xbf84('0x4e'))]['ValidationError'](_0xbf84('0x4f'));}if(_0x5711b8[_0xbf84('0x47')]){return _0x2389c5[_0xbf84('0x43')](_0x1a13e9,_0x5711b8[_0xbf84('0x47')]+path[_0xbf84('0x50')](_0x1a13e9),function(){if(_0x2d87f8){fs[_0xbf84('0x51')](_0x1a13e9);}});}else{return _0x2389c5['download'](_0x1a13e9,function(_0x5641f1){if(_0x2d87f8){fs['unlink'](_0x1a13e9);}});}}})['catch'](function(_0x1948dc){if(_0x1948dc[_0xbf84('0x52')]===_0xbf84('0x4f')){_0x2389c5['status'](0x194)[_0xbf84('0x20')](_0xbf84('0x53'));}else{return handleError(_0x2389c5,null);}});};exports[_0xbf84('0x1c')]=function(_0x4e7b55,_0x232910){return db[_0xbf84('0x23')][_0xbf84('0x41')]({'where':{'id':_0x4e7b55[_0xbf84('0x42')]['id']}})[_0xbf84('0x1b')](function(_0x25e1bf){if(!_0x25e1bf)throw new ReferenceError(_0xbf84('0x54'));return _0x25e1bf;})[_0xbf84('0x1b')](function(_0x5abb4f){var _0x18ead1=_0x5abb4f['savePath'];logger['info'](_0xbf84('0x55'),_0x18ead1);if(!_[_0xbf84('0x56')](_0x5abb4f[_0xbf84('0x46')])&&fs[_0xbf84('0x4a')](_0x18ead1)){logger['info'](_0xbf84('0x57')+_0x18ead1+_0xbf84('0x58'));fs[_0xbf84('0x59')](_0x18ead1);}_0x18ead1=_0x18ead1+_0xbf84('0x5a');if(!_[_0xbf84('0x56')](_0x5abb4f[_0xbf84('0x46')])&&fs[_0xbf84('0x4a')](_0x18ead1)){logger['info'](_0xbf84('0x57')+_0x18ead1+_0xbf84('0x58'));fs[_0xbf84('0x59')](_0x18ead1);}return _0x5abb4f;})['then'](function(_0x451b46){if(!_0x451b46)throw new InternalError();return _0x451b46[_0xbf84('0x1c')]();})[_0xbf84('0x1b')](function(){_0x232910[_0xbf84('0x13')](0xcc)['end']();})[_0xbf84('0x3c')](handleError(_0x232910,null));};