58a1c410491bf3c431fb36a7a01e8b06545ebe3f
[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 _0xfb9e=['../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','error','name','send','map','SquareRecording','key','model','keys','filters','intersection','query','attributes','length','order','sort','pick','filter','where','type','merge','options','then','includeAll','include','rows','catch','show','params','rawAttributes','fields','find','create','body','download','uniqueid','savePath','filename','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','unlink','message','Not\x20found','destroy','isNil','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch'];(function(_0x4f42e3,_0x4b1749){var _0x557920=function(_0x38f6ba){while(--_0x38f6ba){_0x4f42e3['push'](_0x4f42e3['shift']());}};_0x557920(++_0x4b1749);}(_0xfb9e,0x169));var _0xefb9=function(_0x32665e,_0x12740e){_0x32665e=_0x32665e-0x0;var _0x10be45=_0xfb9e[_0x32665e];return _0x10be45;};'use strict';var emlformat=require(_0xefb9('0x0'));var rimraf=require(_0xefb9('0x1'));var zipdir=require(_0xefb9('0x2'));var jsonpatch=require(_0xefb9('0x3'));var rp=require(_0xefb9('0x4'));var moment=require(_0xefb9('0x5'));var BPromise=require(_0xefb9('0x6'));var Mustache=require(_0xefb9('0x7'));var util=require('util');var path=require(_0xefb9('0x8'));var sox=require(_0xefb9('0x9'));var csv=require(_0xefb9('0xa'));var ejs=require(_0xefb9('0xb'));var fs=require('fs');var fs_extra=require(_0xefb9('0xc'));var _=require(_0xefb9('0xd'));var squel=require(_0xefb9('0xe'));var crypto=require(_0xefb9('0xf'));var jsforce=require(_0xefb9('0x10'));var deskjs=require(_0xefb9('0x11'));var toCsv=require(_0xefb9('0xa'));var querystring=require(_0xefb9('0x12'));var Papa=require(_0xefb9('0x13'));var Redis=require(_0xefb9('0x14'));var authService=require(_0xefb9('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0xefb9('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xefb9('0x17'))(_0xefb9('0x18'));var utils=require('../../config/utils');var config=require(_0xefb9('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xefb9('0x1a'))['db'];function respondWithStatusCode(_0x2e78ec,_0x47c2e0){_0x47c2e0=_0x47c2e0||0xcc;return function(_0x3b0ec3){if(_0x3b0ec3){return _0x2e78ec[_0xefb9('0x1b')](_0x47c2e0);}return _0x2e78ec[_0xefb9('0x1c')](_0x47c2e0)[_0xefb9('0x1d')]();};}function respondWithResult(_0x69db3d,_0xcb2a53){_0xcb2a53=_0xcb2a53||0xc8;return function(_0x18ad30){if(_0x18ad30){return _0x69db3d[_0xefb9('0x1c')](_0xcb2a53)[_0xefb9('0x1e')](_0x18ad30);}};}function respondWithFilteredResult(_0x4c00e4,_0x4c3dd6){return function(_0x592537){if(_0x592537){var _0x465d4d=typeof _0x4c3dd6['offset']===_0xefb9('0x1f')&&typeof _0x4c3dd6[_0xefb9('0x20')]===_0xefb9('0x1f');var _0x427e7c=_0x592537[_0xefb9('0x21')];var _0x2e21d6=_0x465d4d?0x0:_0x4c3dd6[_0xefb9('0x22')];var _0x380414=_0x465d4d?_0x592537['count']:_0x4c3dd6[_0xefb9('0x22')]+_0x4c3dd6[_0xefb9('0x20')];var _0x19b2f3;if(_0x380414>=_0x427e7c){_0x380414=_0x427e7c;_0x19b2f3=0xc8;}else{_0x19b2f3=0xce;}_0x4c00e4[_0xefb9('0x1c')](_0x19b2f3);return _0x4c00e4[_0xefb9('0x23')](_0xefb9('0x24'),_0x2e21d6+'-'+_0x380414+'/'+_0x427e7c)[_0xefb9('0x1e')](_0x592537);}return null;};}function patchUpdates(_0x61d42e){return function(_0x34c486){try{jsonpatch[_0xefb9('0x25')](_0x34c486,_0x61d42e,!![]);}catch(_0x1e0f3f){return BPromise[_0xefb9('0x26')](_0x1e0f3f);}return _0x34c486[_0xefb9('0x27')]();};}function saveUpdates(_0x206234,_0xf95013){return function(_0x9c04a1){if(_0x9c04a1){return _0x9c04a1[_0xefb9('0x28')](_0x206234)['then'](function(_0x5f5cea){return _0x5f5cea;});}return null;};}function removeEntity(_0x3890ea,_0x1daf0c){return function(_0x5ccec1){if(_0x5ccec1){return _0x5ccec1['destroy']()['then'](function(){_0x3890ea['status'](0xcc)[_0xefb9('0x1d')]();});}};}function handleEntityNotFound(_0x5f3bda,_0x148eb8){return function(_0x40299d){if(!_0x40299d){_0x5f3bda[_0xefb9('0x1b')](0x194);}return _0x40299d;};}function handleError(_0x2126fc,_0x3f5d82){_0x3f5d82=_0x3f5d82||0x1f4;return function(_0x5298fc){logger[_0xefb9('0x29')](_0x5298fc['stack']);if(_0x5298fc[_0xefb9('0x2a')]){delete _0x5298fc[_0xefb9('0x2a')];}_0x2126fc[_0xefb9('0x1c')](_0x3f5d82)[_0xefb9('0x2b')](_0x5298fc);};}exports['index']=function(_0x5bb333,_0x46d8e9){var _0x474eea={},_0x4427ac={},_0x175f26={'count':0x0,'rows':[]};var _0x16f2c8=_[_0xefb9('0x2c')](db[_0xefb9('0x2d')]['rawAttributes'],function(_0x5c55f6){return{'name':_0x5c55f6['fieldName'],'type':_0x5c55f6['type'][_0xefb9('0x2e')]};});_0x4427ac[_0xefb9('0x2f')]=_[_0xefb9('0x2c')](_0x16f2c8,_0xefb9('0x2a'));_0x4427ac['query']=_[_0xefb9('0x30')](_0x5bb333['query']);_0x4427ac[_0xefb9('0x31')]=_[_0xefb9('0x32')](_0x4427ac[_0xefb9('0x2f')],_0x4427ac[_0xefb9('0x33')]);_0x474eea[_0xefb9('0x34')]=_['intersection'](_0x4427ac[_0xefb9('0x2f')],qs['fields'](_0x5bb333[_0xefb9('0x33')]['fields']));_0x474eea[_0xefb9('0x34')]=_0x474eea['attributes'][_0xefb9('0x35')]?_0x474eea[_0xefb9('0x34')]:_0x4427ac[_0xefb9('0x2f')];if(!_0x5bb333[_0xefb9('0x33')]['hasOwnProperty']('nolimit')){_0x474eea[_0xefb9('0x20')]=qs[_0xefb9('0x20')](_0x5bb333[_0xefb9('0x33')][_0xefb9('0x20')]);_0x474eea[_0xefb9('0x22')]=qs['offset'](_0x5bb333['query'][_0xefb9('0x22')]);}_0x474eea[_0xefb9('0x36')]=qs[_0xefb9('0x37')](_0x5bb333[_0xefb9('0x33')][_0xefb9('0x37')]);_0x474eea['where']=qs[_0xefb9('0x31')](_[_0xefb9('0x38')](_0x5bb333[_0xefb9('0x33')],_0x4427ac[_0xefb9('0x31')]),_0x16f2c8);if(_0x5bb333[_0xefb9('0x33')][_0xefb9('0x39')]){_0x474eea[_0xefb9('0x3a')]=_['merge'](_0x474eea[_0xefb9('0x3a')],{'$or':_[_0xefb9('0x2c')](_0x16f2c8,function(_0x234573){if(_0x234573[_0xefb9('0x3b')]!=='VIRTUAL'){var _0x1981d7={};_0x1981d7[_0x234573['name']]={'$like':'%'+_0x5bb333['query'][_0xefb9('0x39')]+'%'};return _0x1981d7;}})});}_0x474eea=_[_0xefb9('0x3c')]({},_0x474eea,_0x5bb333[_0xefb9('0x3d')]);var _0x190c62={'where':_0x474eea[_0xefb9('0x3a')]};return db['SquareRecording'][_0xefb9('0x21')](_0x190c62)[_0xefb9('0x3e')](function(_0x3a4933){_0x175f26['count']=_0x3a4933;if(_0x5bb333[_0xefb9('0x33')][_0xefb9('0x3f')]){_0x474eea[_0xefb9('0x40')]=[{'all':!![]}];}return db[_0xefb9('0x2d')]['findAll'](_0x474eea);})['then'](function(_0x96ff){_0x175f26[_0xefb9('0x41')]=_0x96ff;return _0x175f26;})[_0xefb9('0x3e')](respondWithFilteredResult(_0x46d8e9,_0x474eea))[_0xefb9('0x42')](handleError(_0x46d8e9,null));};exports[_0xefb9('0x43')]=function(_0x41ce85,_0x4a0fb6){var _0x1f46dd={'raw':!![],'where':{'id':_0x41ce85[_0xefb9('0x44')]['id']}},_0x239d3f={};_0x239d3f[_0xefb9('0x2f')]=_['keys'](db['SquareRecording'][_0xefb9('0x45')]);_0x239d3f[_0xefb9('0x33')]=_[_0xefb9('0x30')](_0x41ce85[_0xefb9('0x33')]);_0x239d3f[_0xefb9('0x31')]=_[_0xefb9('0x32')](_0x239d3f['model'],_0x239d3f['query']);_0x1f46dd['attributes']=_[_0xefb9('0x32')](_0x239d3f['model'],qs['fields'](_0x41ce85[_0xefb9('0x33')][_0xefb9('0x46')]));_0x1f46dd[_0xefb9('0x34')]=_0x1f46dd['attributes']['length']?_0x1f46dd[_0xefb9('0x34')]:_0x239d3f[_0xefb9('0x2f')];if(_0x41ce85[_0xefb9('0x33')][_0xefb9('0x3f')]){_0x1f46dd['include']=[{'all':!![]}];}_0x1f46dd=_['merge']({},_0x1f46dd,_0x41ce85[_0xefb9('0x3d')]);return db[_0xefb9('0x2d')][_0xefb9('0x47')](_0x1f46dd)['then'](handleEntityNotFound(_0x4a0fb6,null))[_0xefb9('0x3e')](respondWithResult(_0x4a0fb6,null))[_0xefb9('0x42')](handleError(_0x4a0fb6,null));};exports[_0xefb9('0x48')]=function(_0x27b17e,_0x2f5df2){return db[_0xefb9('0x2d')][_0xefb9('0x48')](_0x27b17e[_0xefb9('0x49')],{})[_0xefb9('0x3e')](respondWithResult(_0x2f5df2,0xc9))[_0xefb9('0x42')](handleError(_0x2f5df2,null));};exports[_0xefb9('0x28')]=function(_0x3fe9c5,_0x2772f6){if(_0x3fe9c5['body']['id']){delete _0x3fe9c5[_0xefb9('0x49')]['id'];}return db[_0xefb9('0x2d')]['find']({'where':{'id':_0x3fe9c5[_0xefb9('0x44')]['id']}})[_0xefb9('0x3e')](handleEntityNotFound(_0x2772f6,null))[_0xefb9('0x3e')](saveUpdates(_0x3fe9c5['body'],null))['then'](respondWithResult(_0x2772f6,null))[_0xefb9('0x42')](handleError(_0x2772f6,null));};exports[_0xefb9('0x4a')]=function(_0xd2fb2d,_0x15a29f,_0xaf4bf9){var _0x1ab9ba=require('../../components/encryptor');var _0xf86aa7=![];var _0xde9d80={};if(_0xd2fb2d[_0xefb9('0x33')][_0xefb9('0x3b')]&&_0xd2fb2d['query'][_0xefb9('0x3b')]===_0xefb9('0x4b')){_0xde9d80[_0xefb9('0x4b')]=_0xd2fb2d['params']['id'];}else{_0xde9d80['id']=_0xd2fb2d[_0xefb9('0x44')]['id'];}return db[_0xefb9('0x2d')][_0xefb9('0x47')]({'where':_0xde9d80,'attributes':['id',_0xefb9('0x4c'),_0xefb9('0x4d')],'raw':!![]})[_0xefb9('0x3e')](handleEntityNotFound(_0x15a29f,null))[_0xefb9('0x3e')](function(_0x313f08){if(_0x313f08){var _0xe3b6ac=_0x313f08[_0xefb9('0x4c')];var _0x348ea7=util['format'](_0xefb9('0x4e'),_0xe3b6ac);if(fs[_0xefb9('0x4f')](_0x348ea7)){_0xf86aa7=!![];return _0x1ab9ba[_0xefb9('0x50')](_0x348ea7,_0xe3b6ac,config[_0xefb9('0x51')][_0xefb9('0x52')])[_0xefb9('0x3e')](function(){return _0x313f08;});}return _0x313f08;}})[_0xefb9('0x3e')](function(_0x80984a){if(_0x80984a){var _0x55926c=_0x80984a[_0xefb9('0x4c')];if(!fs['existsSync'](_0x55926c)){throw new db[(_0xefb9('0x53'))][(_0xefb9('0x54'))](_0xefb9('0x55'));}if(_0x80984a[_0xefb9('0x4d')]){return _0x15a29f['download'](_0x55926c,_0x80984a['filename']+path['extname'](_0x55926c),function(){if(_0xf86aa7){fs['unlink'](_0x55926c);}});}else{return _0x15a29f[_0xefb9('0x4a')](_0x55926c,function(_0x6726af){if(_0xf86aa7){fs[_0xefb9('0x56')](_0x55926c);}});}}})[_0xefb9('0x42')](function(_0x4b7086){if(_0x4b7086[_0xefb9('0x57')]===_0xefb9('0x55')){_0x15a29f[_0xefb9('0x1c')](0x194)[_0xefb9('0x2b')](_0xefb9('0x58'));}else{return handleError(_0x15a29f,null);}});};exports[_0xefb9('0x59')]=function(_0x3cc670,_0x4c272e){return db['SquareRecording'][_0xefb9('0x47')]({'where':{'id':_0x3cc670['params']['id']}})['then'](function(_0x2b9ec4){if(_[_0xefb9('0x5a')](_0x2b9ec4)){throw new ReferenceError('Entity\x20not\x20found');}return _0x2b9ec4;})[_0xefb9('0x3e')](function(_0x1b2d13){var _0x22d06d=_0x1b2d13[_0xefb9('0x4c')];logger['info'](_0xefb9('0x5b'),_0x22d06d);if(!_['isNil'](_0x1b2d13[_0xefb9('0x4c')])&&fs['existsSync'](_0x22d06d)){logger[_0xefb9('0x5c')](_0xefb9('0x5d')+_0x22d06d+_0xefb9('0x5e'));fs[_0xefb9('0x5f')](_0x22d06d);}_0x22d06d=_0x22d06d+'.cypher';if(!_[_0xefb9('0x5a')](_0x1b2d13[_0xefb9('0x4c')])&&fs[_0xefb9('0x4f')](_0x22d06d)){logger[_0xefb9('0x5c')](_0xefb9('0x5d')+_0x22d06d+_0xefb9('0x5e'));fs[_0xefb9('0x5f')](_0x22d06d);}return _0x1b2d13;})[_0xefb9('0x3e')](function(_0x12226d){if(!_0x12226d)throw new InternalError();return _0x12226d[_0xefb9('0x59')]();})['then'](function(){_0x4c272e[_0xefb9('0x1c')](0xcc)['end']();})[_0xefb9('0x42')](handleError(_0x4c272e,null));};