Built motion from commit d9028345.|2.5.43
[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 _0x9726=['nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','rows','show','find','body','params','catch','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','secrets','recording','Sequelize','ValidationError','extname','message','Not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','fast-json-patch','request-promise','path','sox','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty'];(function(_0xa63ea3,_0x4367ff){var _0x2aa5ff=function(_0x30dc84){while(--_0x30dc84){_0xa63ea3['push'](_0xa63ea3['shift']());}};_0x2aa5ff(++_0x4367ff);}(_0x9726,0xe7));var _0x6972=function(_0x32f0e2,_0x5d0d37){_0x32f0e2=_0x32f0e2-0x0;var _0x49dec9=_0x9726[_0x32f0e2];return _0x49dec9;};'use strict';var emlformat=require(_0x6972('0x0'));var rimraf=require(_0x6972('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6972('0x2'));var rp=require(_0x6972('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x6972('0x4'));var sox=require(_0x6972('0x5'));var csv=require('to-csv');var ejs=require(_0x6972('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6972('0x7'));var squel=require(_0x6972('0x8'));var crypto=require('crypto');var jsforce=require(_0x6972('0x9'));var deskjs=require(_0x6972('0xa'));var toCsv=require('to-csv');var querystring=require(_0x6972('0xb'));var Papa=require(_0x6972('0xc'));var Redis=require(_0x6972('0xd'));var authService=require(_0x6972('0xe'));var qs=require(_0x6972('0xf'));var as=require(_0x6972('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6972('0x11'))('api');var utils=require(_0x6972('0x12'));var config=require(_0x6972('0x13'));var licenseUtil=require(_0x6972('0x14'));var db=require(_0x6972('0x15'))['db'];function respondWithStatusCode(_0x5db7ee,_0x556109){_0x556109=_0x556109||0xcc;return function(_0x131052){if(_0x131052){return _0x5db7ee['sendStatus'](_0x556109);}return _0x5db7ee[_0x6972('0x16')](_0x556109)[_0x6972('0x17')]();};}function respondWithResult(_0x22f335,_0x2e303b){_0x2e303b=_0x2e303b||0xc8;return function(_0x53f7af){if(_0x53f7af){return _0x22f335[_0x6972('0x16')](_0x2e303b)[_0x6972('0x18')](_0x53f7af);}};}function respondWithFilteredResult(_0x416900,_0x37c73d){return function(_0x58c09a){if(_0x58c09a){var _0x25fde4=typeof _0x37c73d[_0x6972('0x19')]==='undefined'&&typeof _0x37c73d[_0x6972('0x1a')]===_0x6972('0x1b');var _0xa1835a=_0x58c09a[_0x6972('0x1c')];var _0xd16e04=_0x25fde4?0x0:_0x37c73d['offset'];var _0x3969b0=_0x25fde4?_0x58c09a[_0x6972('0x1c')]:_0x37c73d[_0x6972('0x19')]+_0x37c73d[_0x6972('0x1a')];var _0x5c092f;if(_0x3969b0>=_0xa1835a){_0x3969b0=_0xa1835a;_0x5c092f=0xc8;}else{_0x5c092f=0xce;}_0x416900['status'](_0x5c092f);return _0x416900[_0x6972('0x1d')](_0x6972('0x1e'),_0xd16e04+'-'+_0x3969b0+'/'+_0xa1835a)[_0x6972('0x18')](_0x58c09a);}return null;};}function patchUpdates(_0x1b7a66){return function(_0x22ad48){try{jsonpatch[_0x6972('0x1f')](_0x22ad48,_0x1b7a66,!![]);}catch(_0x5b7900){return BPromise[_0x6972('0x20')](_0x5b7900);}return _0x22ad48[_0x6972('0x21')]();};}function saveUpdates(_0x2062f2,_0x1cb539){return function(_0x19dc0a){if(_0x19dc0a){return _0x19dc0a[_0x6972('0x22')](_0x2062f2)[_0x6972('0x23')](function(_0x2cba2f){return _0x2cba2f;});}return null;};}function removeEntity(_0x11d5ad,_0x5659ba){return function(_0x25ceac){if(_0x25ceac){return _0x25ceac[_0x6972('0x24')]()[_0x6972('0x23')](function(){_0x11d5ad[_0x6972('0x16')](0xcc)[_0x6972('0x17')]();});}};}function handleEntityNotFound(_0x91e96d,_0x25d3f4){return function(_0xefcba3){if(!_0xefcba3){_0x91e96d[_0x6972('0x25')](0x194);}return _0xefcba3;};}function handleError(_0x1a32d3,_0x74869c){_0x74869c=_0x74869c||0x1f4;return function(_0x1905cf){logger[_0x6972('0x26')](_0x1905cf['stack']);if(_0x1905cf[_0x6972('0x27')]){delete _0x1905cf[_0x6972('0x27')];}_0x1a32d3[_0x6972('0x16')](_0x74869c)[_0x6972('0x28')](_0x1905cf);};}exports[_0x6972('0x29')]=function(_0x598e21,_0x464414){var _0x3e2af6={},_0x1df66b={},_0x4a509f={'count':0x0,'rows':[]};var _0x17c1e8=_[_0x6972('0x2a')](db[_0x6972('0x2b')][_0x6972('0x2c')],function(_0x1df66d){return{'name':_0x1df66d[_0x6972('0x2d')],'type':_0x1df66d[_0x6972('0x2e')][_0x6972('0x2f')]};});_0x1df66b[_0x6972('0x30')]=_[_0x6972('0x2a')](_0x17c1e8,'name');_0x1df66b[_0x6972('0x31')]=_[_0x6972('0x32')](_0x598e21[_0x6972('0x31')]);_0x1df66b[_0x6972('0x33')]=_[_0x6972('0x34')](_0x1df66b['model'],_0x1df66b[_0x6972('0x31')]);_0x3e2af6[_0x6972('0x35')]=_[_0x6972('0x34')](_0x1df66b['model'],qs[_0x6972('0x36')](_0x598e21[_0x6972('0x31')][_0x6972('0x36')]));_0x3e2af6['attributes']=_0x3e2af6[_0x6972('0x35')][_0x6972('0x37')]?_0x3e2af6[_0x6972('0x35')]:_0x1df66b[_0x6972('0x30')];if(!_0x598e21[_0x6972('0x31')][_0x6972('0x38')](_0x6972('0x39'))){_0x3e2af6[_0x6972('0x1a')]=qs[_0x6972('0x1a')](_0x598e21['query']['limit']);_0x3e2af6[_0x6972('0x19')]=qs[_0x6972('0x19')](_0x598e21[_0x6972('0x31')][_0x6972('0x19')]);}_0x3e2af6[_0x6972('0x3a')]=qs['sort'](_0x598e21[_0x6972('0x31')][_0x6972('0x3b')]);_0x3e2af6[_0x6972('0x3c')]=qs[_0x6972('0x33')](_[_0x6972('0x3d')](_0x598e21[_0x6972('0x31')],_0x1df66b[_0x6972('0x33')]),_0x17c1e8);if(_0x598e21[_0x6972('0x31')][_0x6972('0x3e')]){_0x3e2af6[_0x6972('0x3c')]=_[_0x6972('0x3f')](_0x3e2af6[_0x6972('0x3c')],{'$or':_[_0x6972('0x2a')](_0x17c1e8,function(_0x4ae7e0){if(_0x4ae7e0[_0x6972('0x2e')]!=='VIRTUAL'){var _0x5a3e3f={};_0x5a3e3f[_0x4ae7e0['name']]={'$like':'%'+_0x598e21[_0x6972('0x31')][_0x6972('0x3e')]+'%'};return _0x5a3e3f;}})});}_0x3e2af6=_['merge']({},_0x3e2af6,_0x598e21[_0x6972('0x40')]);var _0x270dcf={'where':_0x3e2af6[_0x6972('0x3c')]};return db[_0x6972('0x2b')]['count'](_0x270dcf)[_0x6972('0x23')](function(_0x84bcba){_0x4a509f[_0x6972('0x1c')]=_0x84bcba;if(_0x598e21[_0x6972('0x31')][_0x6972('0x41')]){_0x3e2af6[_0x6972('0x42')]=[{'all':!![]}];}return db['SquareRecording']['findAll'](_0x3e2af6);})['then'](function(_0x1e6c7c){_0x4a509f[_0x6972('0x43')]=_0x1e6c7c;return _0x4a509f;})[_0x6972('0x23')](respondWithFilteredResult(_0x464414,_0x3e2af6))['catch'](handleError(_0x464414,null));};exports[_0x6972('0x44')]=function(_0x3af32b,_0x2cfaaf){var _0xd23a94={'raw':!![],'where':{'id':_0x3af32b['params']['id']}},_0x44780c={};_0x44780c['model']=_[_0x6972('0x32')](db[_0x6972('0x2b')][_0x6972('0x2c')]);_0x44780c[_0x6972('0x31')]=_[_0x6972('0x32')](_0x3af32b[_0x6972('0x31')]);_0x44780c[_0x6972('0x33')]=_[_0x6972('0x34')](_0x44780c['model'],_0x44780c[_0x6972('0x31')]);_0xd23a94[_0x6972('0x35')]=_[_0x6972('0x34')](_0x44780c[_0x6972('0x30')],qs[_0x6972('0x36')](_0x3af32b[_0x6972('0x31')]['fields']));_0xd23a94[_0x6972('0x35')]=_0xd23a94[_0x6972('0x35')][_0x6972('0x37')]?_0xd23a94[_0x6972('0x35')]:_0x44780c['model'];if(_0x3af32b[_0x6972('0x31')][_0x6972('0x41')]){_0xd23a94[_0x6972('0x42')]=[{'all':!![]}];}_0xd23a94=_[_0x6972('0x3f')]({},_0xd23a94,_0x3af32b['options']);return db['SquareRecording'][_0x6972('0x45')](_0xd23a94)[_0x6972('0x23')](handleEntityNotFound(_0x2cfaaf,null))[_0x6972('0x23')](respondWithResult(_0x2cfaaf,null))['catch'](handleError(_0x2cfaaf,null));};exports['create']=function(_0x2b7732,_0x30e27e){return db['SquareRecording']['create'](_0x2b7732[_0x6972('0x46')],{})[_0x6972('0x23')](respondWithResult(_0x30e27e,0xc9))['catch'](handleError(_0x30e27e,null));};exports[_0x6972('0x22')]=function(_0x340665,_0x4a4cde){if(_0x340665[_0x6972('0x46')]['id']){delete _0x340665['body']['id'];}return db[_0x6972('0x2b')][_0x6972('0x45')]({'where':{'id':_0x340665[_0x6972('0x47')]['id']}})[_0x6972('0x23')](handleEntityNotFound(_0x4a4cde,null))[_0x6972('0x23')](saveUpdates(_0x340665[_0x6972('0x46')],null))[_0x6972('0x23')](respondWithResult(_0x4a4cde,null))[_0x6972('0x48')](handleError(_0x4a4cde,null));};exports[_0x6972('0x49')]=function(_0x288e01,_0x15ecae,_0x261f1a){var _0x27f7cf=require(_0x6972('0x4a'));var _0x4bf3f0=![];var _0x3a7eeb={};if(_0x288e01[_0x6972('0x31')][_0x6972('0x2e')]&&_0x288e01[_0x6972('0x31')][_0x6972('0x2e')]===_0x6972('0x4b')){_0x3a7eeb[_0x6972('0x4b')]=_0x288e01[_0x6972('0x47')]['id'];}else{_0x3a7eeb['id']=_0x288e01[_0x6972('0x47')]['id'];}return db['SquareRecording'][_0x6972('0x45')]({'where':_0x3a7eeb,'attributes':['id',_0x6972('0x4c'),_0x6972('0x4d')],'raw':!![]})[_0x6972('0x23')](handleEntityNotFound(_0x15ecae,null))[_0x6972('0x23')](function(_0x111fca){if(_0x111fca){var _0x5bb591=_0x111fca[_0x6972('0x4c')];var _0x442f98=util[_0x6972('0x4e')](_0x6972('0x4f'),_0x5bb591);if(fs[_0x6972('0x50')](_0x442f98)){_0x4bf3f0=!![];return _0x27f7cf['decryptFile'](_0x442f98,_0x5bb591,config[_0x6972('0x51')][_0x6972('0x52')])[_0x6972('0x23')](function(){return _0x111fca;});}return _0x111fca;}})[_0x6972('0x23')](function(_0x17aa30){if(_0x17aa30){var _0x4786f1=_0x17aa30[_0x6972('0x4c')];if(!fs[_0x6972('0x50')](_0x4786f1)){throw new db[(_0x6972('0x53'))][(_0x6972('0x54'))]('SquareRecording\x20not\x20found');}if(_0x17aa30[_0x6972('0x4d')]){return _0x15ecae[_0x6972('0x49')](_0x4786f1,_0x17aa30[_0x6972('0x4d')]+path[_0x6972('0x55')](_0x4786f1),function(){if(_0x4bf3f0){fs['unlink'](_0x4786f1);}});}else{return _0x15ecae['download'](_0x4786f1,function(_0x586838){if(_0x4bf3f0){fs['unlink'](_0x4786f1);}});}}})['catch'](function(_0x55f076){if(_0x55f076[_0x6972('0x56')]==='SquareRecording\x20not\x20found'){_0x15ecae[_0x6972('0x16')](0x194)[_0x6972('0x28')](_0x6972('0x57'));}else{return handleError(_0x15ecae,null);}});};exports['destroy']=function(_0x21d3d7,_0x3ce146){return db['SquareRecording'][_0x6972('0x45')]({'where':{'id':_0x21d3d7[_0x6972('0x47')]['id']}})[_0x6972('0x23')](function(_0x3ebb7f){if(_[_0x6972('0x58')](_0x3ebb7f)){throw new ReferenceError(_0x6972('0x59'));}return _0x3ebb7f;})['then'](function(_0x4d6ac6){var _0x39715f=_0x4d6ac6['savePath'];logger[_0x6972('0x5a')](_0x6972('0x5b'),_0x39715f);if(!_[_0x6972('0x58')](_0x4d6ac6['savePath'])&&fs['existsSync'](_0x39715f)){logger['info'](_0x6972('0x5c')+_0x39715f+_0x6972('0x5d'));fs[_0x6972('0x5e')](_0x39715f);}_0x39715f=_0x39715f+_0x6972('0x5f');if(!_[_0x6972('0x58')](_0x4d6ac6[_0x6972('0x4c')])&&fs['existsSync'](_0x39715f)){logger['info'](_0x6972('0x5c')+_0x39715f+_0x6972('0x5d'));fs[_0x6972('0x5e')](_0x39715f);}return _0x4d6ac6;})[_0x6972('0x23')](function(_0x1f42c0){if(!_0x1f42c0)throw new InternalError();return _0x1f42c0[_0x6972('0x24')]();})['then'](function(){_0x3ce146[_0x6972('0x16')](0xcc)[_0x6972('0x17')]();})[_0x6972('0x48')](handleError(_0x3ce146,null));};