ef3755f7a3bd6940a6c058b3e70a15f514d506d5
[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 _0xdf37=['options','find','create','body','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','secrets','recording','Sequelize','extname','unlink','message','SquareRecording\x20not\x20found','Not\x20found','destroy','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','File:\x20\x22','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','set','reject','save','update','then','stack','name','send','index','SquareRecording','fieldName','model','map','query','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','filters','pick','filter','where','type','VIRTUAL','merge','count','includeAll','include','rows','catch','show','params','keys','rawAttributes'];(function(_0x1de0cc,_0x21ac9e){var _0x1c4b7f=function(_0x4b8647){while(--_0x4b8647){_0x1de0cc['push'](_0x1de0cc['shift']());}};_0x1c4b7f(++_0x21ac9e);}(_0xdf37,0x13d));var _0x7df3=function(_0x411502,_0x33b820){_0x411502=_0x411502-0x0;var _0x54f999=_0xdf37[_0x411502];return _0x54f999;};'use strict';var pdf=require(_0x7df3('0x0'));var emlformat=require(_0x7df3('0x1'));var rimraf=require(_0x7df3('0x2'));var zipdir=require(_0x7df3('0x3'));var jsonpatch=require(_0x7df3('0x4'));var rp=require(_0x7df3('0x5'));var moment=require('moment');var BPromise=require(_0x7df3('0x6'));var Mustache=require(_0x7df3('0x7'));var util=require('util');var path=require('path');var sox=require(_0x7df3('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x7df3('0x9'));var squel=require(_0x7df3('0xa'));var crypto=require(_0x7df3('0xb'));var jsforce=require(_0x7df3('0xc'));var deskjs=require(_0x7df3('0xd'));var toCsv=require(_0x7df3('0xe'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x7df3('0xf'));var authService=require(_0x7df3('0x10'));var qs=require(_0x7df3('0x11'));var as=require(_0x7df3('0x12'));var hardwareService=require(_0x7df3('0x13'));var logger=require('../../config/logger')(_0x7df3('0x14'));var utils=require(_0x7df3('0x15'));var config=require(_0x7df3('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x7df3('0x17'))['db'];function respondWithStatusCode(_0xb9061c,_0x452e18){_0x452e18=_0x452e18||0xcc;return function(_0x416111){if(_0x416111){return _0xb9061c[_0x7df3('0x18')](_0x452e18);}return _0xb9061c['status'](_0x452e18)[_0x7df3('0x19')]();};}function respondWithResult(_0x4a28a3,_0x13d53a){_0x13d53a=_0x13d53a||0xc8;return function(_0xf5e4be){if(_0xf5e4be){return _0x4a28a3[_0x7df3('0x1a')](_0x13d53a)[_0x7df3('0x1b')](_0xf5e4be);}};}function respondWithFilteredResult(_0x5721c9,_0x360c64){return function(_0x310f37){if(_0x310f37){var _0x23e6c0=_0x310f37['count'],_0x186fb8=_0x360c64[_0x7df3('0x1c')],_0x12811f=_0x360c64[_0x7df3('0x1c')]+_0x360c64['limit'],_0x4c0d08;if(_0x12811f>=_0x23e6c0){_0x12811f=_0x23e6c0;_0x4c0d08=0xc8;}else{_0x4c0d08=0xce;}_0x5721c9[_0x7df3('0x1a')](_0x4c0d08);return _0x5721c9[_0x7df3('0x1d')]('Content-Range',_0x186fb8+'-'+_0x12811f+'/'+_0x23e6c0)[_0x7df3('0x1b')](_0x310f37);}return null;};}function patchUpdates(_0xf9deba){return function(_0x391ffa){try{jsonpatch['apply'](_0x391ffa,_0xf9deba,!![]);}catch(_0x4fb671){return BPromise[_0x7df3('0x1e')](_0x4fb671);}return _0x391ffa[_0x7df3('0x1f')]();};}function saveUpdates(_0x4e3491,_0x435432){return function(_0x115ca8){if(_0x115ca8){return _0x115ca8[_0x7df3('0x20')](_0x4e3491)[_0x7df3('0x21')](function(_0x1d5848){return _0x1d5848;});}return null;};}function removeEntity(_0x10cfa2,_0x10ae0e){return function(_0x578e99){if(_0x578e99){return _0x578e99['destroy']()[_0x7df3('0x21')](function(){_0x10cfa2['status'](0xcc)[_0x7df3('0x19')]();});}};}function handleEntityNotFound(_0x3115dc,_0x10c908){return function(_0x1eb259){if(!_0x1eb259){_0x3115dc[_0x7df3('0x18')](0x194);}return _0x1eb259;};}function handleError(_0x4b3479,_0x470c7c){_0x470c7c=_0x470c7c||0x1f4;return function(_0x30e929){logger['error'](_0x30e929[_0x7df3('0x22')]);if(_0x30e929[_0x7df3('0x23')]){delete _0x30e929[_0x7df3('0x23')];}_0x4b3479[_0x7df3('0x1a')](_0x470c7c)[_0x7df3('0x24')](_0x30e929);};}exports[_0x7df3('0x25')]=function(_0x361070,_0x355d12){var _0x4ad21d={},_0x1cc6ad={},_0x5c951a={'count':0x0,'rows':[]};var _0x15f354=_['map'](db[_0x7df3('0x26')]['rawAttributes'],function(_0x5cf064){return{'name':_0x5cf064[_0x7df3('0x27')],'type':_0x5cf064['type']['key']};});_0x1cc6ad[_0x7df3('0x28')]=_[_0x7df3('0x29')](_0x15f354,_0x7df3('0x23'));_0x1cc6ad[_0x7df3('0x2a')]=_['keys'](_0x361070[_0x7df3('0x2a')]);_0x1cc6ad['filters']=_[_0x7df3('0x2b')](_0x1cc6ad['model'],_0x1cc6ad[_0x7df3('0x2a')]);_0x4ad21d[_0x7df3('0x2c')]=_[_0x7df3('0x2b')](_0x1cc6ad[_0x7df3('0x28')],qs['fields'](_0x361070[_0x7df3('0x2a')][_0x7df3('0x2d')]));_0x4ad21d[_0x7df3('0x2c')]=_0x4ad21d[_0x7df3('0x2c')][_0x7df3('0x2e')]?_0x4ad21d[_0x7df3('0x2c')]:_0x1cc6ad[_0x7df3('0x28')];if(!_0x361070[_0x7df3('0x2a')][_0x7df3('0x2f')]('nolimit')){_0x4ad21d['limit']=qs[_0x7df3('0x30')](_0x361070[_0x7df3('0x2a')]['limit']);_0x4ad21d['offset']=qs['offset'](_0x361070['query']['offset']);}_0x4ad21d[_0x7df3('0x31')]=qs[_0x7df3('0x32')](_0x361070[_0x7df3('0x2a')][_0x7df3('0x32')]);_0x4ad21d['where']=qs[_0x7df3('0x33')](_[_0x7df3('0x34')](_0x361070[_0x7df3('0x2a')],_0x1cc6ad[_0x7df3('0x33')]),_0x15f354);if(_0x361070[_0x7df3('0x2a')][_0x7df3('0x35')]){_0x4ad21d[_0x7df3('0x36')]=_['merge'](_0x4ad21d[_0x7df3('0x36')],{'$or':_[_0x7df3('0x29')](_0x15f354,function(_0x1291fc){if(_0x1291fc[_0x7df3('0x37')]!==_0x7df3('0x38')){var _0x3ad12c={};_0x3ad12c[_0x1291fc[_0x7df3('0x23')]]={'$like':'%'+_0x361070['query'][_0x7df3('0x35')]+'%'};return _0x3ad12c;}})});}_0x4ad21d=_[_0x7df3('0x39')]({},_0x4ad21d,_0x361070['options']);var _0x4eaca8={'where':_0x4ad21d[_0x7df3('0x36')]};return db[_0x7df3('0x26')][_0x7df3('0x3a')](_0x4eaca8)['then'](function(_0x3b855d){_0x5c951a[_0x7df3('0x3a')]=_0x3b855d;if(_0x361070[_0x7df3('0x2a')][_0x7df3('0x3b')]){_0x4ad21d[_0x7df3('0x3c')]=[{'all':!![]}];}return db['SquareRecording']['findAll'](_0x4ad21d);})[_0x7df3('0x21')](function(_0x415c44){_0x5c951a[_0x7df3('0x3d')]=_0x415c44;return _0x5c951a;})['then'](respondWithFilteredResult(_0x355d12,_0x4ad21d))[_0x7df3('0x3e')](handleError(_0x355d12,null));};exports[_0x7df3('0x3f')]=function(_0x30d486,_0x5a4376){var _0x15c5d8={'raw':!![],'where':{'id':_0x30d486[_0x7df3('0x40')]['id']}},_0x4c5b20={};_0x4c5b20[_0x7df3('0x28')]=_[_0x7df3('0x41')](db[_0x7df3('0x26')][_0x7df3('0x42')]);_0x4c5b20[_0x7df3('0x2a')]=_[_0x7df3('0x41')](_0x30d486['query']);_0x4c5b20[_0x7df3('0x33')]=_[_0x7df3('0x2b')](_0x4c5b20[_0x7df3('0x28')],_0x4c5b20['query']);_0x15c5d8['attributes']=_[_0x7df3('0x2b')](_0x4c5b20[_0x7df3('0x28')],qs[_0x7df3('0x2d')](_0x30d486['query'][_0x7df3('0x2d')]));_0x15c5d8[_0x7df3('0x2c')]=_0x15c5d8[_0x7df3('0x2c')]['length']?_0x15c5d8[_0x7df3('0x2c')]:_0x4c5b20[_0x7df3('0x28')];if(_0x30d486[_0x7df3('0x2a')]['includeAll']){_0x15c5d8[_0x7df3('0x3c')]=[{'all':!![]}];}_0x15c5d8=_[_0x7df3('0x39')]({},_0x15c5d8,_0x30d486[_0x7df3('0x43')]);return db['SquareRecording'][_0x7df3('0x44')](_0x15c5d8)[_0x7df3('0x21')](handleEntityNotFound(_0x5a4376,null))['then'](respondWithResult(_0x5a4376,null))[_0x7df3('0x3e')](handleError(_0x5a4376,null));};exports[_0x7df3('0x45')]=function(_0xcc33d2,_0xdfdf24){return db[_0x7df3('0x26')][_0x7df3('0x45')](_0xcc33d2[_0x7df3('0x46')],{})[_0x7df3('0x21')](respondWithResult(_0xdfdf24,0xc9))[_0x7df3('0x3e')](handleError(_0xdfdf24,null));};exports[_0x7df3('0x20')]=function(_0x1a290a,_0x234b91){if(_0x1a290a[_0x7df3('0x46')]['id']){delete _0x1a290a[_0x7df3('0x46')]['id'];}return db[_0x7df3('0x26')][_0x7df3('0x44')]({'where':{'id':_0x1a290a[_0x7df3('0x40')]['id']}})[_0x7df3('0x21')](handleEntityNotFound(_0x234b91,null))[_0x7df3('0x21')](saveUpdates(_0x1a290a[_0x7df3('0x46')],null))[_0x7df3('0x21')](respondWithResult(_0x234b91,null))['catch'](handleError(_0x234b91,null));};exports[_0x7df3('0x47')]=function(_0x43f431,_0x24a1f8,_0x6b3acb){var _0x9f7a37=require(_0x7df3('0x48'));var _0x5c2464=![];var _0x26f899={};if(_0x43f431[_0x7df3('0x2a')][_0x7df3('0x37')]&&_0x43f431[_0x7df3('0x2a')][_0x7df3('0x37')]===_0x7df3('0x49')){_0x26f899['uniqueid']=_0x43f431[_0x7df3('0x40')]['id'];}else{_0x26f899['id']=_0x43f431[_0x7df3('0x40')]['id'];}return db[_0x7df3('0x26')][_0x7df3('0x44')]({'where':_0x26f899,'attributes':['id',_0x7df3('0x4a'),_0x7df3('0x4b')],'raw':!![]})['then'](handleEntityNotFound(_0x24a1f8,null))[_0x7df3('0x21')](function(_0x592eb3){if(_0x592eb3){var _0x283cd9=_0x592eb3['savePath'];var _0x1fbac6=util[_0x7df3('0x4c')](_0x7df3('0x4d'),_0x283cd9);if(fs[_0x7df3('0x4e')](_0x1fbac6)){_0x5c2464=!![];return _0x9f7a37['decryptFile'](_0x1fbac6,_0x283cd9,config[_0x7df3('0x4f')][_0x7df3('0x50')])[_0x7df3('0x21')](function(){return _0x592eb3;});}return _0x592eb3;}})[_0x7df3('0x21')](function(_0x4cfc1f){if(_0x4cfc1f){var _0x2edd50=_0x4cfc1f['savePath'];if(!fs[_0x7df3('0x4e')](_0x2edd50)){throw new db[(_0x7df3('0x51'))]['ValidationError']('SquareRecording\x20not\x20found');}if(_0x4cfc1f['filename']){return _0x24a1f8['download'](_0x2edd50,_0x4cfc1f[_0x7df3('0x4b')]+path[_0x7df3('0x52')](_0x2edd50),function(){if(_0x5c2464){fs[_0x7df3('0x53')](_0x2edd50);}});}else{return _0x24a1f8[_0x7df3('0x47')](_0x2edd50,function(_0x1130a7){if(_0x5c2464){fs['unlink'](_0x2edd50);}});}}})[_0x7df3('0x3e')](function(_0x4f36cb){if(_0x4f36cb[_0x7df3('0x54')]===_0x7df3('0x55')){_0x24a1f8[_0x7df3('0x1a')](0x194)['send'](_0x7df3('0x56'));}else{return handleError(_0x24a1f8,null);}});};exports[_0x7df3('0x57')]=function(_0x274c69,_0x15e3ed){return db[_0x7df3('0x26')][_0x7df3('0x44')]({'where':{'id':_0x274c69[_0x7df3('0x40')]['id']}})['then'](function(_0x3efa04){if(!_0x3efa04)throw new ReferenceError(_0x7df3('0x58'));return _0x3efa04;})['then'](function(_0xf0e3a0){var _0x5f567e=_0xf0e3a0[_0x7df3('0x4a')];logger['info'](_0x7df3('0x59'),_0x5f567e);if(!_[_0x7df3('0x5a')](_0xf0e3a0[_0x7df3('0x4a')])&&fs[_0x7df3('0x4e')](_0x5f567e)){logger[_0x7df3('0x5b')]('File:\x20\x22'+_0x5f567e+_0x7df3('0x5c'));fs['unlinkSync'](_0x5f567e);}_0x5f567e=_0x5f567e+_0x7df3('0x5d');if(!_[_0x7df3('0x5a')](_0xf0e3a0[_0x7df3('0x4a')])&&fs[_0x7df3('0x4e')](_0x5f567e)){logger[_0x7df3('0x5b')](_0x7df3('0x5e')+_0x5f567e+_0x7df3('0x5c'));fs[_0x7df3('0x5f')](_0x5f567e);}return _0xf0e3a0;})[_0x7df3('0x21')](function(_0x438a21){if(!_0x438a21)throw new InternalError();return _0x438a21[_0x7df3('0x57')]();})[_0x7df3('0x21')](function(){_0x15e3ed[_0x7df3('0x1a')](0xcc)[_0x7df3('0x19')]();})['catch'](handleError(_0x15e3ed,null));};