Built motion from commit (unavailable).|2.5.19
[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 _0xc223=['body','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','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','info','File:\x20\x22','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','sox','lodash','squel','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','SquareRecording','rawAttributes','fieldName','type','key','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','sort','pick','filter','merge','where','options','includeAll','include','findAll','rows','show','params','find','catch','create'];(function(_0x50378e,_0x4f0a5f){var _0x36a29f=function(_0x187adb){while(--_0x187adb){_0x50378e['push'](_0x50378e['shift']());}};_0x36a29f(++_0x4f0a5f);}(_0xc223,0xdc));var _0x3c22=function(_0x27a5c7,_0x207c52){_0x27a5c7=_0x27a5c7-0x0;var _0x52f5a6=_0xc223[_0x27a5c7];return _0x52f5a6;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3c22('0x0'));var rimraf=require(_0x3c22('0x1'));var zipdir=require(_0x3c22('0x2'));var jsonpatch=require(_0x3c22('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3c22('0x4'));var Mustache=require(_0x3c22('0x5'));var util=require('util');var path=require('path');var sox=require(_0x3c22('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x3c22('0x7'));var squel=require(_0x3c22('0x8'));var crypto=require('crypto');var jsforce=require(_0x3c22('0x9'));var deskjs=require(_0x3c22('0xa'));var toCsv=require(_0x3c22('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3c22('0xc'));var authService=require(_0x3c22('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0x3c22('0xe'));var hardwareService=require(_0x3c22('0xf'));var logger=require(_0x3c22('0x10'))(_0x3c22('0x11'));var utils=require(_0x3c22('0x12'));var config=require(_0x3c22('0x13'));var licenseUtil=require(_0x3c22('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x51d1a1,_0x3d316c){_0x3d316c=_0x3d316c||0xcc;return function(_0x16bb79){if(_0x16bb79){return _0x51d1a1[_0x3c22('0x15')](_0x3d316c);}return _0x51d1a1[_0x3c22('0x16')](_0x3d316c)[_0x3c22('0x17')]();};}function respondWithResult(_0x1466df,_0x22ef53){_0x22ef53=_0x22ef53||0xc8;return function(_0x4bd1e2){if(_0x4bd1e2){return _0x1466df['status'](_0x22ef53)[_0x3c22('0x18')](_0x4bd1e2);}};}function respondWithFilteredResult(_0x4b8501,_0x228cd3){return function(_0xc3438e){if(_0xc3438e){var _0xf093de=_0xc3438e[_0x3c22('0x19')],_0x24477c=_0x228cd3[_0x3c22('0x1a')],_0x4fd6fb=_0x228cd3[_0x3c22('0x1a')]+_0x228cd3[_0x3c22('0x1b')],_0x353346;if(_0x4fd6fb>=_0xf093de){_0x4fd6fb=_0xf093de;_0x353346=0xc8;}else{_0x353346=0xce;}_0x4b8501['status'](_0x353346);return _0x4b8501[_0x3c22('0x1c')](_0x3c22('0x1d'),_0x24477c+'-'+_0x4fd6fb+'/'+_0xf093de)[_0x3c22('0x18')](_0xc3438e);}return null;};}function patchUpdates(_0x2be6fb){return function(_0xb440d0){try{jsonpatch[_0x3c22('0x1e')](_0xb440d0,_0x2be6fb,!![]);}catch(_0x20466c){return BPromise[_0x3c22('0x1f')](_0x20466c);}return _0xb440d0[_0x3c22('0x20')]();};}function saveUpdates(_0x58a2a5,_0x31ff17){return function(_0x33e63a){if(_0x33e63a){return _0x33e63a[_0x3c22('0x21')](_0x58a2a5)[_0x3c22('0x22')](function(_0x5c26b1){return _0x5c26b1;});}return null;};}function removeEntity(_0x25c211,_0x1a3b7f){return function(_0x1346d0){if(_0x1346d0){return _0x1346d0[_0x3c22('0x23')]()[_0x3c22('0x22')](function(){_0x25c211[_0x3c22('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4be9e5,_0x3b3867){return function(_0x4805bc){if(!_0x4805bc){_0x4be9e5[_0x3c22('0x15')](0x194);}return _0x4805bc;};}function handleError(_0x310ed5,_0x165d4e){_0x165d4e=_0x165d4e||0x1f4;return function(_0x2ba8f3){logger[_0x3c22('0x24')](_0x2ba8f3[_0x3c22('0x25')]);if(_0x2ba8f3['name']){delete _0x2ba8f3[_0x3c22('0x26')];}_0x310ed5[_0x3c22('0x16')](_0x165d4e)[_0x3c22('0x27')](_0x2ba8f3);};}exports[_0x3c22('0x28')]=function(_0x4b248e,_0x455c2b){var _0x45d599={},_0x4f1470={},_0x38d92d={'count':0x0,'rows':[]};var _0x21c59b=_['map'](db[_0x3c22('0x29')][_0x3c22('0x2a')],function(_0x3fd530){return{'name':_0x3fd530[_0x3c22('0x2b')],'type':_0x3fd530[_0x3c22('0x2c')][_0x3c22('0x2d')]};});_0x4f1470['model']=_['map'](_0x21c59b,_0x3c22('0x26'));_0x4f1470[_0x3c22('0x2e')]=_[_0x3c22('0x2f')](_0x4b248e[_0x3c22('0x2e')]);_0x4f1470[_0x3c22('0x30')]=_[_0x3c22('0x31')](_0x4f1470['model'],_0x4f1470[_0x3c22('0x2e')]);_0x45d599[_0x3c22('0x32')]=_[_0x3c22('0x31')](_0x4f1470[_0x3c22('0x33')],qs[_0x3c22('0x34')](_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x34')]));_0x45d599['attributes']=_0x45d599[_0x3c22('0x32')][_0x3c22('0x35')]?_0x45d599[_0x3c22('0x32')]:_0x4f1470['model'];if(!_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x36')](_0x3c22('0x37'))){_0x45d599[_0x3c22('0x1b')]=qs['limit'](_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x1b')]);_0x45d599[_0x3c22('0x1a')]=qs['offset'](_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x1a')]);}_0x45d599['order']=qs[_0x3c22('0x38')](_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x38')]);_0x45d599['where']=qs[_0x3c22('0x30')](_[_0x3c22('0x39')](_0x4b248e['query'],_0x4f1470[_0x3c22('0x30')]),_0x21c59b);if(_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x3a')]){_0x45d599['where']=_[_0x3c22('0x3b')](_0x45d599[_0x3c22('0x3c')],{'$or':_['map'](_0x21c59b,function(_0x3a0ea0){if(_0x3a0ea0[_0x3c22('0x2c')]!=='VIRTUAL'){var _0x1e6521={};_0x1e6521[_0x3a0ea0[_0x3c22('0x26')]]={'$like':'%'+_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x3a')]+'%'};return _0x1e6521;}})});}_0x45d599=_[_0x3c22('0x3b')]({},_0x45d599,_0x4b248e[_0x3c22('0x3d')]);var _0x14c3ab={'where':_0x45d599[_0x3c22('0x3c')]};return db['SquareRecording'][_0x3c22('0x19')](_0x14c3ab)[_0x3c22('0x22')](function(_0x414109){_0x38d92d[_0x3c22('0x19')]=_0x414109;if(_0x4b248e[_0x3c22('0x2e')][_0x3c22('0x3e')]){_0x45d599[_0x3c22('0x3f')]=[{'all':!![]}];}return db[_0x3c22('0x29')][_0x3c22('0x40')](_0x45d599);})[_0x3c22('0x22')](function(_0x1d0f50){_0x38d92d[_0x3c22('0x41')]=_0x1d0f50;return _0x38d92d;})['then'](respondWithFilteredResult(_0x455c2b,_0x45d599))['catch'](handleError(_0x455c2b,null));};exports[_0x3c22('0x42')]=function(_0x52f002,_0x1d62f0){var _0x49ef8d={'raw':!![],'where':{'id':_0x52f002[_0x3c22('0x43')]['id']}},_0x3e75f4={};_0x3e75f4[_0x3c22('0x33')]=_[_0x3c22('0x2f')](db[_0x3c22('0x29')][_0x3c22('0x2a')]);_0x3e75f4[_0x3c22('0x2e')]=_[_0x3c22('0x2f')](_0x52f002[_0x3c22('0x2e')]);_0x3e75f4[_0x3c22('0x30')]=_[_0x3c22('0x31')](_0x3e75f4[_0x3c22('0x33')],_0x3e75f4[_0x3c22('0x2e')]);_0x49ef8d['attributes']=_[_0x3c22('0x31')](_0x3e75f4['model'],qs[_0x3c22('0x34')](_0x52f002[_0x3c22('0x2e')][_0x3c22('0x34')]));_0x49ef8d[_0x3c22('0x32')]=_0x49ef8d['attributes'][_0x3c22('0x35')]?_0x49ef8d[_0x3c22('0x32')]:_0x3e75f4['model'];if(_0x52f002[_0x3c22('0x2e')]['includeAll']){_0x49ef8d[_0x3c22('0x3f')]=[{'all':!![]}];}_0x49ef8d=_[_0x3c22('0x3b')]({},_0x49ef8d,_0x52f002[_0x3c22('0x3d')]);return db[_0x3c22('0x29')][_0x3c22('0x44')](_0x49ef8d)['then'](handleEntityNotFound(_0x1d62f0,null))[_0x3c22('0x22')](respondWithResult(_0x1d62f0,null))[_0x3c22('0x45')](handleError(_0x1d62f0,null));};exports['create']=function(_0x113a97,_0x26fe85){return db[_0x3c22('0x29')][_0x3c22('0x46')](_0x113a97[_0x3c22('0x47')],{})[_0x3c22('0x22')](respondWithResult(_0x26fe85,0xc9))[_0x3c22('0x45')](handleError(_0x26fe85,null));};exports[_0x3c22('0x21')]=function(_0x2c6896,_0x299382){if(_0x2c6896['body']['id']){delete _0x2c6896[_0x3c22('0x47')]['id'];}return db[_0x3c22('0x29')][_0x3c22('0x44')]({'where':{'id':_0x2c6896[_0x3c22('0x43')]['id']}})[_0x3c22('0x22')](handleEntityNotFound(_0x299382,null))['then'](saveUpdates(_0x2c6896[_0x3c22('0x47')],null))[_0x3c22('0x22')](respondWithResult(_0x299382,null))['catch'](handleError(_0x299382,null));};exports[_0x3c22('0x48')]=function(_0x4e6199,_0x3f64a6,_0x7b62b8){var _0x13debc=require(_0x3c22('0x49'));var _0x16a476=![];var _0x58ef2d={};if(_0x4e6199['query'][_0x3c22('0x2c')]&&_0x4e6199['query'][_0x3c22('0x2c')]===_0x3c22('0x4a')){_0x58ef2d[_0x3c22('0x4a')]=_0x4e6199[_0x3c22('0x43')]['id'];}else{_0x58ef2d['id']=_0x4e6199['params']['id'];}return db[_0x3c22('0x29')][_0x3c22('0x44')]({'where':_0x58ef2d,'attributes':['id',_0x3c22('0x4b'),_0x3c22('0x4c')],'raw':!![]})[_0x3c22('0x22')](handleEntityNotFound(_0x3f64a6,null))[_0x3c22('0x22')](function(_0x3584dc){if(_0x3584dc){var _0x512acd=_0x3584dc['savePath'];var _0x285080=util[_0x3c22('0x4d')](_0x3c22('0x4e'),_0x512acd);if(fs[_0x3c22('0x4f')](_0x285080)){_0x16a476=!![];return _0x13debc[_0x3c22('0x50')](_0x285080,_0x512acd,config[_0x3c22('0x51')][_0x3c22('0x52')])[_0x3c22('0x22')](function(){return _0x3584dc;});}return _0x3584dc;}})['then'](function(_0x478be7){if(_0x478be7){var _0x18fd7b=_0x478be7[_0x3c22('0x4b')];if(!fs[_0x3c22('0x4f')](_0x18fd7b)){throw new db[(_0x3c22('0x53'))]['ValidationError'](_0x3c22('0x54'));}if(_0x478be7[_0x3c22('0x4c')]){return _0x3f64a6[_0x3c22('0x48')](_0x18fd7b,_0x478be7[_0x3c22('0x4c')]+path[_0x3c22('0x55')](_0x18fd7b),function(){if(_0x16a476){fs['unlink'](_0x18fd7b);}});}else{return _0x3f64a6[_0x3c22('0x48')](_0x18fd7b,function(_0x34f03e){if(_0x16a476){fs[_0x3c22('0x56')](_0x18fd7b);}});}}})[_0x3c22('0x45')](function(_0x310feb){if(_0x310feb[_0x3c22('0x57')]===_0x3c22('0x54')){_0x3f64a6[_0x3c22('0x16')](0x194)[_0x3c22('0x27')](_0x3c22('0x58'));}else{return handleError(_0x3f64a6,null);}});};exports['destroy']=function(_0x1b5563,_0x312fb3){return db[_0x3c22('0x29')][_0x3c22('0x44')]({'where':{'id':_0x1b5563[_0x3c22('0x43')]['id']}})[_0x3c22('0x22')](function(_0x10795e){if(!_0x10795e)throw new ReferenceError(_0x3c22('0x59'));return _0x10795e;})[_0x3c22('0x22')](function(_0x3c5392){var _0x3b8ae9=_0x3c5392[_0x3c22('0x4b')];logger['info'](_0x3c22('0x5a'),_0x3b8ae9);if(!_[_0x3c22('0x5b')](_0x3c5392[_0x3c22('0x4b')])&&fs['existsSync'](_0x3b8ae9)){logger['info']('File:\x20\x22'+_0x3b8ae9+_0x3c22('0x5c'));fs[_0x3c22('0x5d')](_0x3b8ae9);}_0x3b8ae9=_0x3b8ae9+_0x3c22('0x5e');if(!_['isNil'](_0x3c5392[_0x3c22('0x4b')])&&fs[_0x3c22('0x4f')](_0x3b8ae9)){logger[_0x3c22('0x5f')](_0x3c22('0x60')+_0x3b8ae9+_0x3c22('0x5c'));fs[_0x3c22('0x5d')](_0x3b8ae9);}return _0x3c5392;})[_0x3c22('0x22')](function(_0x370acb){if(!_0x370acb)throw new InternalError();return _0x370acb[_0x3c22('0x23')]();})[_0x3c22('0x22')](function(){_0x312fb3[_0x3c22('0x16')](0xcc)['end']();})[_0x3c22('0x45')](handleError(_0x312fb3,null));};