Built motion from commit (unavailable).|2.3.94
[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 _0x80e4=['where','merge','map','type','key','VIRTUAL','field','includeAll','include','show','params','rawAttributes','fields','length','find','catch','create','body','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','decryptFile','recording','existsSync','Sequelize','SquareRecording\x20not\x20found','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','squel','jsforce','to-csv','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','limit','set','apply','reject','save','update','then','sendStatus','stack','name','send','SquareRecording','model','keys','query','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','filter'];(function(_0x5b18bf,_0x2befce){var _0x2513e8=function(_0x3bf26a){while(--_0x3bf26a){_0x5b18bf['push'](_0x5b18bf['shift']());}};_0x2513e8(++_0x2befce);}(_0x80e4,0x111));var _0x480e=function(_0x376b45,_0x5964fb){_0x376b45=_0x376b45-0x0;var _0x2341b3=_0x80e4[_0x376b45];return _0x2341b3;};'use strict';var pdf=require(_0x480e('0x0'));var emlformat=require(_0x480e('0x1'));var rimraf=require(_0x480e('0x2'));var zipdir=require(_0x480e('0x3'));var jsonpatch=require(_0x480e('0x4'));var rp=require(_0x480e('0x5'));var moment=require(_0x480e('0x6'));var BPromise=require(_0x480e('0x7'));var Mustache=require(_0x480e('0x8'));var util=require(_0x480e('0x9'));var path=require(_0x480e('0xa'));var sox=require(_0x480e('0xb'));var csv=require('to-csv');var ejs=require(_0x480e('0xc'));var fs=require('fs');var _=require('lodash');var squel=require(_0x480e('0xd'));var crypto=require('crypto');var jsforce=require(_0x480e('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x480e('0xf'));var querystring=require('querystring');var Papa=require(_0x480e('0x10'));var authService=require(_0x480e('0x11'));var hardwareService=require(_0x480e('0x12'));var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var logger=require(_0x480e('0x13'))(_0x480e('0x14'));var utils=require(_0x480e('0x15'));var config=require(_0x480e('0x16'));var db=require(_0x480e('0x17'))['db'];function respondWithStatusCode(_0x2d48c4,_0x330ebf){_0x330ebf=_0x330ebf||0xcc;return function(_0x5655a5){if(_0x5655a5){return _0x2d48c4['sendStatus'](_0x330ebf);}return _0x2d48c4[_0x480e('0x18')](_0x330ebf)[_0x480e('0x19')]();};}function respondWithResult(_0x2405a1,_0x4d1c41){_0x4d1c41=_0x4d1c41||0xc8;return function(_0x2c7090){if(_0x2c7090){return _0x2405a1[_0x480e('0x18')](_0x4d1c41)[_0x480e('0x1a')](_0x2c7090);}};}function respondWithFilteredResult(_0x50c3b5,_0x2e2e77){return function(_0x1d475e){if(_0x1d475e){var _0x189fc0=_0x1d475e['count'],_0x372565=_0x2e2e77[_0x480e('0x1b')],_0x52dc96=_0x2e2e77[_0x480e('0x1b')]+_0x2e2e77[_0x480e('0x1c')],_0x567741;if(_0x52dc96>=_0x189fc0){_0x52dc96=_0x189fc0;_0x567741=0xc8;}else{_0x567741=0xce;}_0x50c3b5[_0x480e('0x18')](_0x567741);return _0x50c3b5[_0x480e('0x1d')]('Content-Range',_0x372565+'-'+_0x52dc96+'/'+_0x189fc0)[_0x480e('0x1a')](_0x1d475e);}return null;};}function patchUpdates(_0x3c2945){return function(_0x495246){try{jsonpatch[_0x480e('0x1e')](_0x495246,_0x3c2945,!![]);}catch(_0x28ff26){return BPromise[_0x480e('0x1f')](_0x28ff26);}return _0x495246[_0x480e('0x20')]();};}function saveUpdates(_0x164760,_0x17c033){return function(_0x593b13){if(_0x593b13){return _0x593b13[_0x480e('0x21')](_0x164760)[_0x480e('0x22')](function(_0x223c59){return _0x223c59;});}return null;};}function removeEntity(_0x3b9cd3,_0x49ea8a){return function(_0x19ff82){if(_0x19ff82){return _0x19ff82['destroy']()[_0x480e('0x22')](function(){_0x3b9cd3[_0x480e('0x18')](0xcc)[_0x480e('0x19')]();});}};}function handleEntityNotFound(_0x5ef10a,_0xa915b4){return function(_0x59591c){if(!_0x59591c){_0x5ef10a[_0x480e('0x23')](0x194);}return _0x59591c;};}function handleError(_0x52d9cd,_0x3bb86d){_0x3bb86d=_0x3bb86d||0x1f4;return function(_0x3e78a9){logger['error'](_0x3e78a9[_0x480e('0x24')]);if(_0x3e78a9['name']){delete _0x3e78a9[_0x480e('0x25')];}_0x52d9cd['status'](_0x3bb86d)[_0x480e('0x26')](_0x3e78a9);};}exports['index']=function(_0x2daeed,_0x17f33a){var _0x103175={},_0x18589c={},_0x3b1162={'count':0x0,'rows':[]};var _0x59927d=db[_0x480e('0x27')]['rawAttributes'];_0x18589c[_0x480e('0x28')]=_[_0x480e('0x29')](_0x59927d);_0x18589c[_0x480e('0x2a')]=_[_0x480e('0x29')](_0x2daeed[_0x480e('0x2a')]);_0x18589c[_0x480e('0x2b')]=_['intersection'](_0x18589c[_0x480e('0x28')],_0x18589c[_0x480e('0x2a')]);_0x103175['attributes']=_[_0x480e('0x2c')](_0x18589c[_0x480e('0x28')],qs['fields'](_0x2daeed[_0x480e('0x2a')]['fields']));_0x103175[_0x480e('0x2d')]=_0x103175[_0x480e('0x2d')]['length']?_0x103175[_0x480e('0x2d')]:_0x18589c[_0x480e('0x28')];if(!_0x2daeed['query'][_0x480e('0x2e')](_0x480e('0x2f'))){_0x103175[_0x480e('0x1c')]=qs[_0x480e('0x1c')](_0x2daeed[_0x480e('0x2a')][_0x480e('0x1c')]);_0x103175['offset']=qs[_0x480e('0x1b')](_0x2daeed[_0x480e('0x2a')][_0x480e('0x1b')]);}_0x103175[_0x480e('0x30')]=qs['sort'](_0x2daeed[_0x480e('0x2a')][_0x480e('0x31')]);_0x103175['where']=qs[_0x480e('0x2b')](_['pick'](_0x2daeed['query'],_0x18589c[_0x480e('0x2b')]));if(_0x2daeed[_0x480e('0x2a')][_0x480e('0x32')]){_0x103175[_0x480e('0x33')]=_[_0x480e('0x34')](_0x103175['where'],{'$or':_[_0x480e('0x35')](_0x59927d,function(_0x5adf68){if(_0x5adf68[_0x480e('0x36')][_0x480e('0x37')]!==_0x480e('0x38')){var _0x20ecfb={};_0x20ecfb[_0x5adf68[_0x480e('0x39')]]={'$like':'%'+_0x2daeed[_0x480e('0x2a')][_0x480e('0x32')]+'%'};return _0x20ecfb;}})});}_0x103175=_[_0x480e('0x34')]({},_0x103175,_0x2daeed['options']);var _0x3e1280={'where':_0x103175['where']};return db[_0x480e('0x27')]['count'](_0x3e1280)[_0x480e('0x22')](function(_0x4212e0){_0x3b1162['count']=_0x4212e0;if(_0x2daeed['query'][_0x480e('0x3a')]){_0x103175[_0x480e('0x3b')]=[{'all':!![]}];}return db[_0x480e('0x27')]['findAll'](_0x103175);})[_0x480e('0x22')](function(_0xab8e6f){_0x3b1162['rows']=_0xab8e6f;return _0x3b1162;})[_0x480e('0x22')](respondWithFilteredResult(_0x17f33a,_0x103175))['catch'](handleError(_0x17f33a,null));};exports[_0x480e('0x3c')]=function(_0x48e5b7,_0x4c8b8c){var _0x13ce3b={'raw':!![],'where':{'id':_0x48e5b7[_0x480e('0x3d')]['id']}},_0x43447a={};_0x43447a['model']=_['keys'](db['SquareRecording'][_0x480e('0x3e')]);_0x43447a['query']=_[_0x480e('0x29')](_0x48e5b7[_0x480e('0x2a')]);_0x43447a[_0x480e('0x2b')]=_[_0x480e('0x2c')](_0x43447a[_0x480e('0x28')],_0x43447a[_0x480e('0x2a')]);_0x13ce3b['attributes']=_['intersection'](_0x43447a['model'],qs[_0x480e('0x3f')](_0x48e5b7[_0x480e('0x2a')][_0x480e('0x3f')]));_0x13ce3b[_0x480e('0x2d')]=_0x13ce3b['attributes'][_0x480e('0x40')]?_0x13ce3b[_0x480e('0x2d')]:_0x43447a['model'];if(_0x48e5b7['query'][_0x480e('0x3a')]){_0x13ce3b['include']=[{'all':!![]}];}_0x13ce3b=_[_0x480e('0x34')]({},_0x13ce3b,_0x48e5b7['options']);return db[_0x480e('0x27')][_0x480e('0x41')](_0x13ce3b)[_0x480e('0x22')](handleEntityNotFound(_0x4c8b8c,null))['then'](respondWithResult(_0x4c8b8c,null))[_0x480e('0x42')](handleError(_0x4c8b8c,null));};exports[_0x480e('0x43')]=function(_0x39bbe5,_0x4dd8e1){return db[_0x480e('0x27')]['create'](_0x39bbe5['body'],{})['then'](respondWithResult(_0x4dd8e1,0xc9))['catch'](handleError(_0x4dd8e1,null));};exports[_0x480e('0x21')]=function(_0x4c4f28,_0x561ebb){if(_0x4c4f28[_0x480e('0x44')]['id']){delete _0x4c4f28[_0x480e('0x44')]['id'];}return db[_0x480e('0x27')][_0x480e('0x41')]({'where':{'id':_0x4c4f28[_0x480e('0x3d')]['id']}})[_0x480e('0x22')](handleEntityNotFound(_0x561ebb,null))['then'](saveUpdates(_0x4c4f28[_0x480e('0x44')],null))[_0x480e('0x22')](respondWithResult(_0x561ebb,null))[_0x480e('0x42')](handleError(_0x561ebb,null));};exports['destroy']=function(_0x2a3199,_0x49ceb4){return db['SquareRecording'][_0x480e('0x41')]({'where':{'id':_0x2a3199[_0x480e('0x3d')]['id']}})['then'](handleEntityNotFound(_0x49ceb4,null))[_0x480e('0x22')](removeEntity(_0x49ceb4,null))[_0x480e('0x42')](handleError(_0x49ceb4,null));};exports[_0x480e('0x45')]=function(_0x48d000,_0x4c370d,_0x24d7d3){var _0x5ef940=require(_0x480e('0x46'));var _0x5f2cac=![];var _0x3489a5={};if(_0x48d000['query'][_0x480e('0x36')]&&_0x48d000['query']['type']===_0x480e('0x47')){_0x3489a5['uniqueid']=_0x48d000[_0x480e('0x3d')]['id'];}else{_0x3489a5['id']=_0x48d000[_0x480e('0x3d')]['id'];}return db['SquareRecording'][_0x480e('0x41')]({'where':_0x3489a5,'attributes':['id',_0x480e('0x48'),_0x480e('0x49')],'raw':!![]})[_0x480e('0x22')](handleEntityNotFound(_0x4c370d,null))[_0x480e('0x22')](function(_0x18e176){if(_0x18e176){var _0x4f798e=util[_0x480e('0x4a')](_0x480e('0x4b'),_0x18e176['value']);if(fs['existsSync'](_0x4f798e)){_0x5f2cac=!![];return _0x5ef940[_0x480e('0x4c')](_0x4f798e,_0x18e176[_0x480e('0x48')],config['secrets'][_0x480e('0x4d')])[_0x480e('0x22')](function(){return _0x18e176;});}return _0x18e176;}})[_0x480e('0x22')](function(_0xb57c2f){if(_0xb57c2f){if(!fs[_0x480e('0x4e')](_0xb57c2f[_0x480e('0x48')])){throw new db[(_0x480e('0x4f'))]['ValidationError'](_0x480e('0x50'));}if(_0xb57c2f[_0x480e('0x49')]){return _0x4c370d[_0x480e('0x45')](_0xb57c2f[_0x480e('0x48')],_0xb57c2f[_0x480e('0x49')]+path['extname'](_0xb57c2f['savePath']),function(){if(_0x5f2cac){fs['unlink'](_0xb57c2f[_0x480e('0x48')]);}});}else{return _0x4c370d[_0x480e('0x45')](_0xb57c2f[_0x480e('0x48')],function(_0x3a550d){if(_0x5f2cac){fs['unlink'](_0xb57c2f[_0x480e('0x48')]);}});}}})[_0x480e('0x42')](handleError(_0x4c370d,null));};