e2a026b667850cae7fa4d7491cfb72871529d3a7
[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 _0xee4e=['options','SquareRecording','includeAll','include','findAll','show','params','rawAttributes','intersection','find','catch','create','body','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','SquareRecording\x20not\x20found','extname','unlink','message','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','status','json','count','offset','Content-Range','apply','reject','update','destroy','then','stack','name','send','index','model','keys','query','filters','fields','attributes','length','limit','order','sort','pick','filter','where','map','type','key','VIRTUAL','field','merge'];(function(_0x43f5c7,_0x118763){var _0x46be5f=function(_0x1a43f2){while(--_0x1a43f2){_0x43f5c7['push'](_0x43f5c7['shift']());}};_0x46be5f(++_0x118763);}(_0xee4e,0x122));var _0xeee4=function(_0x3ab9ee,_0x4a74b8){_0x3ab9ee=_0x3ab9ee-0x0;var _0x82ee88=_0xee4e[_0x3ab9ee];return _0x82ee88;};'use strict';var pdf=require(_0xeee4('0x0'));var emlformat=require(_0xeee4('0x1'));var rimraf=require(_0xeee4('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xeee4('0x3'));var rp=require(_0xeee4('0x4'));var moment=require(_0xeee4('0x5'));var BPromise=require(_0xeee4('0x6'));var Mustache=require(_0xeee4('0x7'));var util=require(_0xeee4('0x8'));var path=require(_0xeee4('0x9'));var sox=require(_0xeee4('0xa'));var csv=require('to-csv');var ejs=require(_0xeee4('0xb'));var fs=require('fs');var _=require(_0xeee4('0xc'));var squel=require(_0xeee4('0xd'));var crypto=require('crypto');var jsforce=require(_0xeee4('0xe'));var deskjs=require(_0xeee4('0xf'));var toCsv=require(_0xeee4('0x10'));var querystring=require('querystring');var Papa=require(_0xeee4('0x11'));var Redis=require(_0xeee4('0x12'));var authService=require(_0xeee4('0x13'));var qs=require('../../components/parsers/qs');var hardwareService=require(_0xeee4('0x14'));var logger=require('../../config/logger')(_0xeee4('0x15'));var utils=require(_0xeee4('0x16'));var config=require(_0xeee4('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x203074,_0xab281b){_0xab281b=_0xab281b||0xcc;return function(_0x348c96){if(_0x348c96){return _0x203074[_0xeee4('0x18')](_0xab281b);}return _0x203074['status'](_0xab281b)['end']();};}function respondWithResult(_0x3d2721,_0x2433dd){_0x2433dd=_0x2433dd||0xc8;return function(_0xa32975){if(_0xa32975){return _0x3d2721[_0xeee4('0x19')](_0x2433dd)[_0xeee4('0x1a')](_0xa32975);}};}function respondWithFilteredResult(_0x52ea81,_0x4c35e1){return function(_0x288ded){if(_0x288ded){var _0x44631d=_0x288ded[_0xeee4('0x1b')],_0x1fc948=_0x4c35e1['offset'],_0x1e0af2=_0x4c35e1[_0xeee4('0x1c')]+_0x4c35e1['limit'],_0xf3e60b;if(_0x1e0af2>=_0x44631d){_0x1e0af2=_0x44631d;_0xf3e60b=0xc8;}else{_0xf3e60b=0xce;}_0x52ea81[_0xeee4('0x19')](_0xf3e60b);return _0x52ea81['set'](_0xeee4('0x1d'),_0x1fc948+'-'+_0x1e0af2+'/'+_0x44631d)[_0xeee4('0x1a')](_0x288ded);}return null;};}function patchUpdates(_0x2b37dd){return function(_0x557433){try{jsonpatch[_0xeee4('0x1e')](_0x557433,_0x2b37dd,!![]);}catch(_0x3decdf){return BPromise[_0xeee4('0x1f')](_0x3decdf);}return _0x557433['save']();};}function saveUpdates(_0x133d76,_0x33765d){return function(_0x3a981c){if(_0x3a981c){return _0x3a981c[_0xeee4('0x20')](_0x133d76)['then'](function(_0x378f92){return _0x378f92;});}return null;};}function removeEntity(_0x1e470d,_0x4970df){return function(_0x3a3c63){if(_0x3a3c63){return _0x3a3c63[_0xeee4('0x21')]()[_0xeee4('0x22')](function(){_0x1e470d[_0xeee4('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x27f951,_0x446f79){return function(_0x28276e){if(!_0x28276e){_0x27f951['sendStatus'](0x194);}return _0x28276e;};}function handleError(_0x497833,_0x2c27e0){_0x2c27e0=_0x2c27e0||0x1f4;return function(_0x414644){logger['error'](_0x414644[_0xeee4('0x23')]);if(_0x414644['name']){delete _0x414644[_0xeee4('0x24')];}_0x497833[_0xeee4('0x19')](_0x2c27e0)[_0xeee4('0x25')](_0x414644);};}exports[_0xeee4('0x26')]=function(_0x1f9e12,_0x42b4f9){var _0x41ef12={},_0x42c89c={},_0x2cdee7={'count':0x0,'rows':[]};var _0x23b33c=db['SquareRecording']['rawAttributes'];_0x42c89c[_0xeee4('0x27')]=_[_0xeee4('0x28')](_0x23b33c);_0x42c89c['query']=_['keys'](_0x1f9e12[_0xeee4('0x29')]);_0x42c89c[_0xeee4('0x2a')]=_['intersection'](_0x42c89c[_0xeee4('0x27')],_0x42c89c[_0xeee4('0x29')]);_0x41ef12['attributes']=_['intersection'](_0x42c89c['model'],qs[_0xeee4('0x2b')](_0x1f9e12[_0xeee4('0x29')][_0xeee4('0x2b')]));_0x41ef12[_0xeee4('0x2c')]=_0x41ef12[_0xeee4('0x2c')][_0xeee4('0x2d')]?_0x41ef12[_0xeee4('0x2c')]:_0x42c89c[_0xeee4('0x27')];if(!_0x1f9e12['query']['hasOwnProperty']('nolimit')){_0x41ef12[_0xeee4('0x2e')]=qs['limit'](_0x1f9e12[_0xeee4('0x29')][_0xeee4('0x2e')]);_0x41ef12[_0xeee4('0x1c')]=qs[_0xeee4('0x1c')](_0x1f9e12[_0xeee4('0x29')][_0xeee4('0x1c')]);}_0x41ef12[_0xeee4('0x2f')]=qs['sort'](_0x1f9e12[_0xeee4('0x29')][_0xeee4('0x30')]);_0x41ef12['where']=qs['filters'](_[_0xeee4('0x31')](_0x1f9e12['query'],_0x42c89c[_0xeee4('0x2a')]));if(_0x1f9e12[_0xeee4('0x29')][_0xeee4('0x32')]){_0x41ef12[_0xeee4('0x33')]=_['merge'](_0x41ef12['where'],{'$or':_[_0xeee4('0x34')](_0x23b33c,function(_0x4d32c5){if(_0x4d32c5[_0xeee4('0x35')][_0xeee4('0x36')]!==_0xeee4('0x37')){var _0x382f64={};_0x382f64[_0x4d32c5[_0xeee4('0x38')]]={'$like':'%'+_0x1f9e12[_0xeee4('0x29')]['filter']+'%'};return _0x382f64;}})});}_0x41ef12=_[_0xeee4('0x39')]({},_0x41ef12,_0x1f9e12[_0xeee4('0x3a')]);var _0x1f65c3={'where':_0x41ef12[_0xeee4('0x33')]};return db[_0xeee4('0x3b')][_0xeee4('0x1b')](_0x1f65c3)[_0xeee4('0x22')](function(_0x5ceb9a){_0x2cdee7[_0xeee4('0x1b')]=_0x5ceb9a;if(_0x1f9e12[_0xeee4('0x29')][_0xeee4('0x3c')]){_0x41ef12[_0xeee4('0x3d')]=[{'all':!![]}];}return db[_0xeee4('0x3b')][_0xeee4('0x3e')](_0x41ef12);})['then'](function(_0x3e12b9){_0x2cdee7['rows']=_0x3e12b9;return _0x2cdee7;})['then'](respondWithFilteredResult(_0x42b4f9,_0x41ef12))['catch'](handleError(_0x42b4f9,null));};exports[_0xeee4('0x3f')]=function(_0x408951,_0x5bdf2d){var _0x22c853={'raw':!![],'where':{'id':_0x408951[_0xeee4('0x40')]['id']}},_0xe3d540={};_0xe3d540[_0xeee4('0x27')]=_[_0xeee4('0x28')](db[_0xeee4('0x3b')][_0xeee4('0x41')]);_0xe3d540[_0xeee4('0x29')]=_[_0xeee4('0x28')](_0x408951[_0xeee4('0x29')]);_0xe3d540[_0xeee4('0x2a')]=_[_0xeee4('0x42')](_0xe3d540[_0xeee4('0x27')],_0xe3d540[_0xeee4('0x29')]);_0x22c853[_0xeee4('0x2c')]=_['intersection'](_0xe3d540['model'],qs[_0xeee4('0x2b')](_0x408951[_0xeee4('0x29')][_0xeee4('0x2b')]));_0x22c853[_0xeee4('0x2c')]=_0x22c853['attributes']['length']?_0x22c853[_0xeee4('0x2c')]:_0xe3d540[_0xeee4('0x27')];if(_0x408951[_0xeee4('0x29')]['includeAll']){_0x22c853['include']=[{'all':!![]}];}_0x22c853=_[_0xeee4('0x39')]({},_0x22c853,_0x408951[_0xeee4('0x3a')]);return db[_0xeee4('0x3b')][_0xeee4('0x43')](_0x22c853)[_0xeee4('0x22')](handleEntityNotFound(_0x5bdf2d,null))[_0xeee4('0x22')](respondWithResult(_0x5bdf2d,null))[_0xeee4('0x44')](handleError(_0x5bdf2d,null));};exports[_0xeee4('0x45')]=function(_0x33d349,_0x2f117f){return db[_0xeee4('0x3b')][_0xeee4('0x45')](_0x33d349[_0xeee4('0x46')],{})[_0xeee4('0x22')](respondWithResult(_0x2f117f,0xc9))[_0xeee4('0x44')](handleError(_0x2f117f,null));};exports[_0xeee4('0x20')]=function(_0x36fd5d,_0x379bed){if(_0x36fd5d[_0xeee4('0x46')]['id']){delete _0x36fd5d[_0xeee4('0x46')]['id'];}return db['SquareRecording'][_0xeee4('0x43')]({'where':{'id':_0x36fd5d['params']['id']}})['then'](handleEntityNotFound(_0x379bed,null))['then'](saveUpdates(_0x36fd5d[_0xeee4('0x46')],null))[_0xeee4('0x22')](respondWithResult(_0x379bed,null))['catch'](handleError(_0x379bed,null));};exports[_0xeee4('0x21')]=function(_0x55587b,_0x1b8196){return db['SquareRecording'][_0xeee4('0x43')]({'where':{'id':_0x55587b[_0xeee4('0x40')]['id']}})[_0xeee4('0x22')](handleEntityNotFound(_0x1b8196,null))[_0xeee4('0x22')](removeEntity(_0x1b8196,null))[_0xeee4('0x44')](handleError(_0x1b8196,null));};exports[_0xeee4('0x47')]=function(_0x5742dc,_0x38e712,_0xe43112){var _0x429f9a=require(_0xeee4('0x48'));var _0x1636a9=![];var _0x3063de={};if(_0x5742dc['query'][_0xeee4('0x35')]&&_0x5742dc[_0xeee4('0x29')]['type']===_0xeee4('0x49')){_0x3063de[_0xeee4('0x49')]=_0x5742dc[_0xeee4('0x40')]['id'];}else{_0x3063de['id']=_0x5742dc[_0xeee4('0x40')]['id'];}return db['SquareRecording'][_0xeee4('0x43')]({'where':_0x3063de,'attributes':['id',_0xeee4('0x4a'),_0xeee4('0x4b')],'raw':!![]})['then'](handleEntityNotFound(_0x38e712,null))[_0xeee4('0x22')](function(_0x4729da){if(_0x4729da){var _0x46ddc6=_0x4729da['savePath'];var _0x4784b2=util[_0xeee4('0x4c')](_0xeee4('0x4d'),_0x46ddc6);if(fs[_0xeee4('0x4e')](_0x4784b2)){_0x1636a9=!![];return _0x429f9a[_0xeee4('0x4f')](_0x4784b2,_0x46ddc6,config[_0xeee4('0x50')][_0xeee4('0x51')])['then'](function(){return _0x4729da;});}return _0x4729da;}})[_0xeee4('0x22')](function(_0x53a06e){if(_0x53a06e){var _0x133e3e=_0x53a06e[_0xeee4('0x4a')];if(!fs['existsSync'](_0x133e3e)){throw new db[(_0xeee4('0x52'))]['ValidationError'](_0xeee4('0x53'));}if(_0x53a06e[_0xeee4('0x4b')]){return _0x38e712['download'](_0x133e3e,_0x53a06e[_0xeee4('0x4b')]+path[_0xeee4('0x54')](_0x133e3e),function(){if(_0x1636a9){fs[_0xeee4('0x55')](_0x133e3e);}});}else{return _0x38e712[_0xeee4('0x47')](_0x133e3e,function(_0x23bc60){if(_0x1636a9){fs[_0xeee4('0x55')](_0x133e3e);}});}}})['catch'](function(_0x3d56a2){if(_0x3d56a2[_0xeee4('0x56')]==='SquareRecording\x20not\x20found'){_0x38e712['status'](0x194)['send']('Not\x20found');}else{return handleError(_0x38e712,null);}});};