Built motion from commit (unavailable).|2.3.1
[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 _0xc7f5=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../config/license/hardware','../../components/parsers/qs','api','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','error','stack','name','send','index','SquareRecording','rawAttributes','keys','query','filters','intersection','attributes','model','fields','order','sort','where','pick','filter','type','key','VIRTUAL','field','options','includeAll','include','findAll','then','catch','length','merge','find','create','body','params','download','uniqueid','filename','format','%s.cypher','existsSync','decryptFile','savePath','secrets','recording','Sequelize','SquareRecording\x20not\x20found','unlink','html-pdf','eml-format','fast-json-patch','moment','util','path','to-csv','ejs'];(function(_0xfae23b,_0x2be4ba){var _0x200640=function(_0x4ae258){while(--_0x4ae258){_0xfae23b['push'](_0xfae23b['shift']());}};_0x200640(++_0x2be4ba);}(_0xc7f5,0x1de));var _0x5c7f=function(_0x4cec25,_0x530694){_0x4cec25=_0x4cec25-0x0;var _0x331ad2=_0xc7f5[_0x4cec25];return _0x331ad2;};'use strict';var pdf=require(_0x5c7f('0x0'));var emlformat=require(_0x5c7f('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x5c7f('0x2'));var rp=require('request-promise');var moment=require(_0x5c7f('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5c7f('0x4'));var path=require(_0x5c7f('0x5'));var sox=require('sox');var csv=require(_0x5c7f('0x6'));var ejs=require(_0x5c7f('0x7'));var fs=require('fs');var _=require(_0x5c7f('0x8'));var squel=require(_0x5c7f('0x9'));var crypto=require(_0x5c7f('0xa'));var jsforce=require(_0x5c7f('0xb'));var deskjs=require(_0x5c7f('0xc'));var toCsv=require(_0x5c7f('0x6'));var querystring=require(_0x5c7f('0xd'));var Papa=require(_0x5c7f('0xe'));var authService=require('../../components/auth/service');var hardwareService=require(_0x5c7f('0xf'));var Redis=require('ioredis');var qs=require(_0x5c7f('0x10'));var logger=require('../../config/logger')(_0x5c7f('0x11'));var utils=require('../../config/utils');var config=require(_0x5c7f('0x12'));var db=require(_0x5c7f('0x13'))['db'];function respondWithStatusCode(_0x709656,_0x5b2231){_0x5b2231=_0x5b2231||0xcc;return function(_0x5a87d4){if(_0x5a87d4){return _0x709656['sendStatus'](_0x5b2231);}return _0x709656[_0x5c7f('0x14')](_0x5b2231)[_0x5c7f('0x15')]();};}function respondWithResult(_0x2d1d89,_0x17ff21){_0x17ff21=_0x17ff21||0xc8;return function(_0x5a285a){if(_0x5a285a){return _0x2d1d89[_0x5c7f('0x14')](_0x17ff21)[_0x5c7f('0x16')](_0x5a285a);}};}function respondWithFilteredResult(_0x14c653,_0x38f0dd){return function(_0x4c0b69){if(_0x4c0b69){var _0x5d2b21=_0x4c0b69[_0x5c7f('0x17')],_0x565bf5=_0x38f0dd['offset'],_0x2a8c48=_0x38f0dd[_0x5c7f('0x18')]+_0x38f0dd[_0x5c7f('0x19')],_0x3302c5;if(_0x2a8c48>=_0x5d2b21){_0x2a8c48=_0x5d2b21;_0x3302c5=0xc8;}else{_0x3302c5=0xce;}_0x14c653[_0x5c7f('0x14')](_0x3302c5);return _0x14c653[_0x5c7f('0x1a')](_0x5c7f('0x1b'),_0x565bf5+'-'+_0x2a8c48+'/'+_0x5d2b21)['json'](_0x4c0b69);}return null;};}function patchUpdates(_0x342014){return function(_0x21a6c8){try{jsonpatch[_0x5c7f('0x1c')](_0x21a6c8,_0x342014,!![]);}catch(_0x317f61){return BPromise[_0x5c7f('0x1d')](_0x317f61);}return _0x21a6c8[_0x5c7f('0x1e')]();};}function saveUpdates(_0x51aa5d,_0x7c777){return function(_0x379ebd){if(_0x379ebd){return _0x379ebd[_0x5c7f('0x1f')](_0x51aa5d)['then'](function(_0x5ec74d){return _0x5ec74d;});}return null;};}function removeEntity(_0x5cbd65,_0x133d35){return function(_0x5e96c5){if(_0x5e96c5){return _0x5e96c5[_0x5c7f('0x20')]()['then'](function(){_0x5cbd65[_0x5c7f('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0xf7ff18,_0x49bb1c){return function(_0x26c35c){if(!_0x26c35c){_0xf7ff18['sendStatus'](0x194);}return _0x26c35c;};}function handleError(_0x5d8e4b,_0x138d61){_0x138d61=_0x138d61||0x1f4;return function(_0x11109a){logger[_0x5c7f('0x21')](_0x11109a[_0x5c7f('0x22')]);if(_0x11109a[_0x5c7f('0x23')]){delete _0x11109a[_0x5c7f('0x23')];}_0x5d8e4b[_0x5c7f('0x14')](_0x138d61)[_0x5c7f('0x24')](_0x11109a);};}exports[_0x5c7f('0x25')]=function(_0x544b78,_0x14022a){var _0x4c260f={},_0x535861={},_0x4e36eb={'count':0x0,'rows':[]};var _0x3d9169=db[_0x5c7f('0x26')][_0x5c7f('0x27')];_0x535861['model']=_[_0x5c7f('0x28')](_0x3d9169);_0x535861[_0x5c7f('0x29')]=_[_0x5c7f('0x28')](_0x544b78[_0x5c7f('0x29')]);_0x535861[_0x5c7f('0x2a')]=_[_0x5c7f('0x2b')](_0x535861['model'],_0x535861[_0x5c7f('0x29')]);_0x4c260f[_0x5c7f('0x2c')]=_['intersection'](_0x535861[_0x5c7f('0x2d')],qs[_0x5c7f('0x2e')](_0x544b78[_0x5c7f('0x29')][_0x5c7f('0x2e')]));_0x4c260f[_0x5c7f('0x2c')]=_0x4c260f['attributes']['length']?_0x4c260f[_0x5c7f('0x2c')]:_0x535861[_0x5c7f('0x2d')];if(!_0x544b78['query']['hasOwnProperty']('nolimit')){_0x4c260f[_0x5c7f('0x19')]=qs[_0x5c7f('0x19')](_0x544b78[_0x5c7f('0x29')]['limit']);_0x4c260f['offset']=qs[_0x5c7f('0x18')](_0x544b78['query'][_0x5c7f('0x18')]);}_0x4c260f[_0x5c7f('0x2f')]=qs[_0x5c7f('0x30')](_0x544b78[_0x5c7f('0x29')][_0x5c7f('0x30')]);_0x4c260f[_0x5c7f('0x31')]=qs['filters'](_[_0x5c7f('0x32')](_0x544b78[_0x5c7f('0x29')],_0x535861['filters']));if(_0x544b78['query'][_0x5c7f('0x33')]){_0x4c260f[_0x5c7f('0x31')]=_['merge'](_0x4c260f[_0x5c7f('0x31')],{'$or':_['map'](_0x3d9169,function(_0x19a719){if(_0x19a719[_0x5c7f('0x34')][_0x5c7f('0x35')]!==_0x5c7f('0x36')){var _0x2324c6={};_0x2324c6[_0x19a719[_0x5c7f('0x37')]]={'$like':'%'+_0x544b78[_0x5c7f('0x29')]['filter']+'%'};return _0x2324c6;}})});}_0x4c260f=_['merge']({},_0x4c260f,_0x544b78[_0x5c7f('0x38')]);var _0x4b935d={'where':_0x4c260f[_0x5c7f('0x31')]};return db['SquareRecording'][_0x5c7f('0x17')](_0x4b935d)['then'](function(_0x334b76){_0x4e36eb[_0x5c7f('0x17')]=_0x334b76;if(_0x544b78[_0x5c7f('0x29')][_0x5c7f('0x39')]){_0x4c260f[_0x5c7f('0x3a')]=[{'all':!![]}];}return db[_0x5c7f('0x26')][_0x5c7f('0x3b')](_0x4c260f);})[_0x5c7f('0x3c')](function(_0x4edaec){_0x4e36eb['rows']=_0x4edaec;return _0x4e36eb;})[_0x5c7f('0x3c')](respondWithFilteredResult(_0x14022a,_0x4c260f))[_0x5c7f('0x3d')](handleError(_0x14022a,null));};exports['show']=function(_0x1dc047,_0xea60bd){var _0xf18bd5={'raw':!![],'where':{'id':_0x1dc047['params']['id']}},_0x3d50ef={};_0x3d50ef[_0x5c7f('0x2d')]=_[_0x5c7f('0x28')](db[_0x5c7f('0x26')]['rawAttributes']);_0x3d50ef['query']=_['keys'](_0x1dc047[_0x5c7f('0x29')]);_0x3d50ef[_0x5c7f('0x2a')]=_[_0x5c7f('0x2b')](_0x3d50ef[_0x5c7f('0x2d')],_0x3d50ef[_0x5c7f('0x29')]);_0xf18bd5[_0x5c7f('0x2c')]=_[_0x5c7f('0x2b')](_0x3d50ef[_0x5c7f('0x2d')],qs[_0x5c7f('0x2e')](_0x1dc047[_0x5c7f('0x29')][_0x5c7f('0x2e')]));_0xf18bd5['attributes']=_0xf18bd5[_0x5c7f('0x2c')][_0x5c7f('0x3e')]?_0xf18bd5[_0x5c7f('0x2c')]:_0x3d50ef['model'];if(_0x1dc047[_0x5c7f('0x29')][_0x5c7f('0x39')]){_0xf18bd5['include']=[{'all':!![]}];}_0xf18bd5=_[_0x5c7f('0x3f')]({},_0xf18bd5,_0x1dc047[_0x5c7f('0x38')]);return db[_0x5c7f('0x26')][_0x5c7f('0x40')](_0xf18bd5)[_0x5c7f('0x3c')](handleEntityNotFound(_0xea60bd,null))[_0x5c7f('0x3c')](respondWithResult(_0xea60bd,null))['catch'](handleError(_0xea60bd,null));};exports[_0x5c7f('0x41')]=function(_0xd9594a,_0x3f0384){return db['SquareRecording'][_0x5c7f('0x41')](_0xd9594a[_0x5c7f('0x42')],{})[_0x5c7f('0x3c')](respondWithResult(_0x3f0384,0xc9))[_0x5c7f('0x3d')](handleError(_0x3f0384,null));};exports[_0x5c7f('0x1f')]=function(_0x11d7d8,_0x4e6837){if(_0x11d7d8[_0x5c7f('0x42')]['id']){delete _0x11d7d8['body']['id'];}return db['SquareRecording'][_0x5c7f('0x40')]({'where':{'id':_0x11d7d8[_0x5c7f('0x43')]['id']}})[_0x5c7f('0x3c')](handleEntityNotFound(_0x4e6837,null))['then'](saveUpdates(_0x11d7d8['body'],null))[_0x5c7f('0x3c')](respondWithResult(_0x4e6837,null))[_0x5c7f('0x3d')](handleError(_0x4e6837,null));};exports[_0x5c7f('0x20')]=function(_0x16b580,_0x46ade9){return db[_0x5c7f('0x26')][_0x5c7f('0x40')]({'where':{'id':_0x16b580[_0x5c7f('0x43')]['id']}})[_0x5c7f('0x3c')](handleEntityNotFound(_0x46ade9,null))[_0x5c7f('0x3c')](removeEntity(_0x46ade9,null))[_0x5c7f('0x3d')](handleError(_0x46ade9,null));};exports[_0x5c7f('0x44')]=function(_0x572fc9,_0x8b7827,_0xe88d25){var _0x540276=require('../../components/encryptor');var _0x5bd99c=![];var _0x2ed44e={};if(_0x572fc9['query'][_0x5c7f('0x34')]&&_0x572fc9['query']['type']===_0x5c7f('0x45')){_0x2ed44e[_0x5c7f('0x45')]=_0x572fc9[_0x5c7f('0x43')]['id'];}else{_0x2ed44e['id']=_0x572fc9['params']['id'];}return db[_0x5c7f('0x26')]['find']({'where':_0x2ed44e,'attributes':['id','savePath',_0x5c7f('0x46')],'raw':!![]})[_0x5c7f('0x3c')](handleEntityNotFound(_0x8b7827,null))[_0x5c7f('0x3c')](function(_0x3e577a){if(_0x3e577a){var _0x56f6d3=util[_0x5c7f('0x47')](_0x5c7f('0x48'),_0x3e577a['value']);if(fs[_0x5c7f('0x49')](_0x56f6d3)){_0x5bd99c=!![];return _0x540276[_0x5c7f('0x4a')](_0x56f6d3,_0x3e577a[_0x5c7f('0x4b')],config[_0x5c7f('0x4c')][_0x5c7f('0x4d')])[_0x5c7f('0x3c')](function(){return _0x3e577a;});}return _0x3e577a;}})[_0x5c7f('0x3c')](function(_0x3a9d2c){if(_0x3a9d2c){if(!fs['existsSync'](_0x3a9d2c[_0x5c7f('0x4b')])){throw new db[(_0x5c7f('0x4e'))]['ValidationError'](_0x5c7f('0x4f'));}if(_0x3a9d2c[_0x5c7f('0x46')]){return _0x8b7827[_0x5c7f('0x44')](_0x3a9d2c[_0x5c7f('0x4b')],_0x3a9d2c[_0x5c7f('0x46')]+path['extname'](_0x3a9d2c[_0x5c7f('0x4b')]),function(){if(_0x5bd99c){fs[_0x5c7f('0x50')](_0x3a9d2c[_0x5c7f('0x4b')]);}});}else{return _0x8b7827[_0x5c7f('0x44')](_0x3a9d2c[_0x5c7f('0x4b')],function(_0x4f69cf){if(_0x5bd99c){fs['unlink'](_0x3a9d2c[_0x5c7f('0x4b')]);}});}}})[_0x5c7f('0x3d')](handleError(_0x8b7827,null));};