Built motion from commit 14588770.|2.5.38
[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 _0xd5a0=['VIRTUAL','options','findAll','rows','catch','show','params','rawAttributes','includeAll','include','find','create','body','download','../../components/encryptor','uniqueid','savePath','filename','format','decryptFile','recording','existsSync','Sequelize','SquareRecording\x20not\x20found','unlink','message','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','File:\x20\x22','rimraf','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','count','apply','reject','save','update','then','destroy','stack','name','send','index','SquareRecording','fieldName','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type'];(function(_0x242d4f,_0x5f0025){var _0x3f474b=function(_0x1b1e4a){while(--_0x1b1e4a){_0x242d4f['push'](_0x242d4f['shift']());}};_0x3f474b(++_0x5f0025);}(_0xd5a0,0x1f3));var _0x0d5a=function(_0x4c38af,_0x55a605){_0x4c38af=_0x4c38af-0x0;var _0xf94a80=_0xd5a0[_0x4c38af];return _0xf94a80;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0d5a('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0d5a('0x1'));var BPromise=require(_0x0d5a('0x2'));var Mustache=require(_0x0d5a('0x3'));var util=require('util');var path=require(_0x0d5a('0x4'));var sox=require(_0x0d5a('0x5'));var csv=require(_0x0d5a('0x6'));var ejs=require(_0x0d5a('0x7'));var fs=require('fs');var fs_extra=require(_0x0d5a('0x8'));var _=require(_0x0d5a('0x9'));var squel=require(_0x0d5a('0xa'));var crypto=require(_0x0d5a('0xb'));var jsforce=require(_0x0d5a('0xc'));var deskjs=require(_0x0d5a('0xd'));var toCsv=require('to-csv');var querystring=require(_0x0d5a('0xe'));var Papa=require(_0x0d5a('0xf'));var Redis=require(_0x0d5a('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x0d5a('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0d5a('0x12'));var logger=require(_0x0d5a('0x13'))('api');var utils=require(_0x0d5a('0x14'));var config=require(_0x0d5a('0x15'));var licenseUtil=require(_0x0d5a('0x16'));var db=require(_0x0d5a('0x17'))['db'];function respondWithStatusCode(_0x8431fd,_0x25428c){_0x25428c=_0x25428c||0xcc;return function(_0x278fd8){if(_0x278fd8){return _0x8431fd[_0x0d5a('0x18')](_0x25428c);}return _0x8431fd['status'](_0x25428c)[_0x0d5a('0x19')]();};}function respondWithResult(_0x43e1a4,_0x4d28d8){_0x4d28d8=_0x4d28d8||0xc8;return function(_0x22804e){if(_0x22804e){return _0x43e1a4[_0x0d5a('0x1a')](_0x4d28d8)[_0x0d5a('0x1b')](_0x22804e);}};}function respondWithFilteredResult(_0x23646f,_0xf841f8){return function(_0x3dfabe){if(_0x3dfabe){var _0xf37e77=typeof _0xf841f8[_0x0d5a('0x1c')]==='undefined'&&typeof _0xf841f8[_0x0d5a('0x1d')]==='undefined';var _0x59bc1a=_0x3dfabe[_0x0d5a('0x1e')];var _0x595530=_0xf37e77?0x0:_0xf841f8[_0x0d5a('0x1c')];var _0x275942=_0xf37e77?_0x3dfabe[_0x0d5a('0x1e')]:_0xf841f8[_0x0d5a('0x1c')]+_0xf841f8[_0x0d5a('0x1d')];var _0x4d6a3a;if(_0x275942>=_0x59bc1a){_0x275942=_0x59bc1a;_0x4d6a3a=0xc8;}else{_0x4d6a3a=0xce;}_0x23646f[_0x0d5a('0x1a')](_0x4d6a3a);return _0x23646f['set']('Content-Range',_0x595530+'-'+_0x275942+'/'+_0x59bc1a)['json'](_0x3dfabe);}return null;};}function patchUpdates(_0x501ce1){return function(_0x21e057){try{jsonpatch[_0x0d5a('0x1f')](_0x21e057,_0x501ce1,!![]);}catch(_0x595c98){return BPromise[_0x0d5a('0x20')](_0x595c98);}return _0x21e057[_0x0d5a('0x21')]();};}function saveUpdates(_0x12d554,_0x243cbb){return function(_0xad9ac7){if(_0xad9ac7){return _0xad9ac7[_0x0d5a('0x22')](_0x12d554)[_0x0d5a('0x23')](function(_0x5d419d){return _0x5d419d;});}return null;};}function removeEntity(_0x3dcb5b,_0x5d4fd2){return function(_0x33c7b3){if(_0x33c7b3){return _0x33c7b3[_0x0d5a('0x24')]()[_0x0d5a('0x23')](function(){_0x3dcb5b[_0x0d5a('0x1a')](0xcc)[_0x0d5a('0x19')]();});}};}function handleEntityNotFound(_0x18e1e1,_0x157e0a){return function(_0x1c36c4){if(!_0x1c36c4){_0x18e1e1[_0x0d5a('0x18')](0x194);}return _0x1c36c4;};}function handleError(_0x31b0a6,_0x58e1c2){_0x58e1c2=_0x58e1c2||0x1f4;return function(_0x19242c){logger['error'](_0x19242c[_0x0d5a('0x25')]);if(_0x19242c['name']){delete _0x19242c[_0x0d5a('0x26')];}_0x31b0a6[_0x0d5a('0x1a')](_0x58e1c2)[_0x0d5a('0x27')](_0x19242c);};}exports[_0x0d5a('0x28')]=function(_0x5eb74f,_0x49050f){var _0x4b98d9={},_0x1df912={},_0x5d24a1={'count':0x0,'rows':[]};var _0x5eaaf7=_['map'](db[_0x0d5a('0x29')]['rawAttributes'],function(_0x49ef20){return{'name':_0x49ef20[_0x0d5a('0x2a')],'type':_0x49ef20['type']['key']};});_0x1df912[_0x0d5a('0x2b')]=_['map'](_0x5eaaf7,_0x0d5a('0x26'));_0x1df912[_0x0d5a('0x2c')]=_[_0x0d5a('0x2d')](_0x5eb74f[_0x0d5a('0x2c')]);_0x1df912[_0x0d5a('0x2e')]=_[_0x0d5a('0x2f')](_0x1df912[_0x0d5a('0x2b')],_0x1df912['query']);_0x4b98d9[_0x0d5a('0x30')]=_[_0x0d5a('0x2f')](_0x1df912[_0x0d5a('0x2b')],qs[_0x0d5a('0x31')](_0x5eb74f[_0x0d5a('0x2c')][_0x0d5a('0x31')]));_0x4b98d9[_0x0d5a('0x30')]=_0x4b98d9['attributes'][_0x0d5a('0x32')]?_0x4b98d9[_0x0d5a('0x30')]:_0x1df912['model'];if(!_0x5eb74f['query'][_0x0d5a('0x33')](_0x0d5a('0x34'))){_0x4b98d9[_0x0d5a('0x1d')]=qs[_0x0d5a('0x1d')](_0x5eb74f['query'][_0x0d5a('0x1d')]);_0x4b98d9[_0x0d5a('0x1c')]=qs['offset'](_0x5eb74f[_0x0d5a('0x2c')][_0x0d5a('0x1c')]);}_0x4b98d9[_0x0d5a('0x35')]=qs['sort'](_0x5eb74f[_0x0d5a('0x2c')][_0x0d5a('0x36')]);_0x4b98d9[_0x0d5a('0x37')]=qs['filters'](_[_0x0d5a('0x38')](_0x5eb74f[_0x0d5a('0x2c')],_0x1df912[_0x0d5a('0x2e')]),_0x5eaaf7);if(_0x5eb74f[_0x0d5a('0x2c')]['filter']){_0x4b98d9[_0x0d5a('0x37')]=_[_0x0d5a('0x39')](_0x4b98d9['where'],{'$or':_['map'](_0x5eaaf7,function(_0x2e960e){if(_0x2e960e[_0x0d5a('0x3a')]!==_0x0d5a('0x3b')){var _0x15a80d={};_0x15a80d[_0x2e960e[_0x0d5a('0x26')]]={'$like':'%'+_0x5eb74f[_0x0d5a('0x2c')]['filter']+'%'};return _0x15a80d;}})});}_0x4b98d9=_[_0x0d5a('0x39')]({},_0x4b98d9,_0x5eb74f[_0x0d5a('0x3c')]);var _0x314506={'where':_0x4b98d9[_0x0d5a('0x37')]};return db[_0x0d5a('0x29')]['count'](_0x314506)[_0x0d5a('0x23')](function(_0x49d534){_0x5d24a1[_0x0d5a('0x1e')]=_0x49d534;if(_0x5eb74f[_0x0d5a('0x2c')]['includeAll']){_0x4b98d9['include']=[{'all':!![]}];}return db[_0x0d5a('0x29')][_0x0d5a('0x3d')](_0x4b98d9);})['then'](function(_0x408296){_0x5d24a1[_0x0d5a('0x3e')]=_0x408296;return _0x5d24a1;})[_0x0d5a('0x23')](respondWithFilteredResult(_0x49050f,_0x4b98d9))[_0x0d5a('0x3f')](handleError(_0x49050f,null));};exports[_0x0d5a('0x40')]=function(_0x258a25,_0x2d79e5){var _0x1012e9={'raw':!![],'where':{'id':_0x258a25[_0x0d5a('0x41')]['id']}},_0x291f39={};_0x291f39['model']=_[_0x0d5a('0x2d')](db[_0x0d5a('0x29')][_0x0d5a('0x42')]);_0x291f39[_0x0d5a('0x2c')]=_[_0x0d5a('0x2d')](_0x258a25[_0x0d5a('0x2c')]);_0x291f39['filters']=_[_0x0d5a('0x2f')](_0x291f39[_0x0d5a('0x2b')],_0x291f39[_0x0d5a('0x2c')]);_0x1012e9[_0x0d5a('0x30')]=_[_0x0d5a('0x2f')](_0x291f39[_0x0d5a('0x2b')],qs[_0x0d5a('0x31')](_0x258a25[_0x0d5a('0x2c')][_0x0d5a('0x31')]));_0x1012e9[_0x0d5a('0x30')]=_0x1012e9[_0x0d5a('0x30')][_0x0d5a('0x32')]?_0x1012e9[_0x0d5a('0x30')]:_0x291f39[_0x0d5a('0x2b')];if(_0x258a25[_0x0d5a('0x2c')][_0x0d5a('0x43')]){_0x1012e9[_0x0d5a('0x44')]=[{'all':!![]}];}_0x1012e9=_[_0x0d5a('0x39')]({},_0x1012e9,_0x258a25[_0x0d5a('0x3c')]);return db[_0x0d5a('0x29')][_0x0d5a('0x45')](_0x1012e9)[_0x0d5a('0x23')](handleEntityNotFound(_0x2d79e5,null))['then'](respondWithResult(_0x2d79e5,null))[_0x0d5a('0x3f')](handleError(_0x2d79e5,null));};exports[_0x0d5a('0x46')]=function(_0x4f4533,_0x4c0756){return db[_0x0d5a('0x29')]['create'](_0x4f4533[_0x0d5a('0x47')],{})[_0x0d5a('0x23')](respondWithResult(_0x4c0756,0xc9))[_0x0d5a('0x3f')](handleError(_0x4c0756,null));};exports[_0x0d5a('0x22')]=function(_0x3cc6d6,_0x46eac){if(_0x3cc6d6[_0x0d5a('0x47')]['id']){delete _0x3cc6d6[_0x0d5a('0x47')]['id'];}return db[_0x0d5a('0x29')][_0x0d5a('0x45')]({'where':{'id':_0x3cc6d6[_0x0d5a('0x41')]['id']}})[_0x0d5a('0x23')](handleEntityNotFound(_0x46eac,null))[_0x0d5a('0x23')](saveUpdates(_0x3cc6d6[_0x0d5a('0x47')],null))[_0x0d5a('0x23')](respondWithResult(_0x46eac,null))['catch'](handleError(_0x46eac,null));};exports[_0x0d5a('0x48')]=function(_0x185e21,_0x1dbc7c,_0x5739a0){var _0x16292e=require(_0x0d5a('0x49'));var _0x3beb63=![];var _0x5ba497={};if(_0x185e21['query'][_0x0d5a('0x3a')]&&_0x185e21[_0x0d5a('0x2c')]['type']===_0x0d5a('0x4a')){_0x5ba497[_0x0d5a('0x4a')]=_0x185e21[_0x0d5a('0x41')]['id'];}else{_0x5ba497['id']=_0x185e21[_0x0d5a('0x41')]['id'];}return db[_0x0d5a('0x29')][_0x0d5a('0x45')]({'where':_0x5ba497,'attributes':['id',_0x0d5a('0x4b'),_0x0d5a('0x4c')],'raw':!![]})[_0x0d5a('0x23')](handleEntityNotFound(_0x1dbc7c,null))['then'](function(_0x2613a7){if(_0x2613a7){var _0x465e08=_0x2613a7[_0x0d5a('0x4b')];var _0xe2d614=util[_0x0d5a('0x4d')]('%s.cypher',_0x465e08);if(fs['existsSync'](_0xe2d614)){_0x3beb63=!![];return _0x16292e[_0x0d5a('0x4e')](_0xe2d614,_0x465e08,config['secrets'][_0x0d5a('0x4f')])['then'](function(){return _0x2613a7;});}return _0x2613a7;}})[_0x0d5a('0x23')](function(_0x38f9b3){if(_0x38f9b3){var _0x25e6e5=_0x38f9b3['savePath'];if(!fs[_0x0d5a('0x50')](_0x25e6e5)){throw new db[(_0x0d5a('0x51'))]['ValidationError'](_0x0d5a('0x52'));}if(_0x38f9b3[_0x0d5a('0x4c')]){return _0x1dbc7c[_0x0d5a('0x48')](_0x25e6e5,_0x38f9b3[_0x0d5a('0x4c')]+path['extname'](_0x25e6e5),function(){if(_0x3beb63){fs[_0x0d5a('0x53')](_0x25e6e5);}});}else{return _0x1dbc7c[_0x0d5a('0x48')](_0x25e6e5,function(_0x51f025){if(_0x3beb63){fs['unlink'](_0x25e6e5);}});}}})['catch'](function(_0x3a81ff){if(_0x3a81ff[_0x0d5a('0x54')]===_0x0d5a('0x52')){_0x1dbc7c[_0x0d5a('0x1a')](0x194)['send']('Not\x20found');}else{return handleError(_0x1dbc7c,null);}});};exports[_0x0d5a('0x24')]=function(_0x204816,_0x1c4680){return db[_0x0d5a('0x29')][_0x0d5a('0x45')]({'where':{'id':_0x204816[_0x0d5a('0x41')]['id']}})[_0x0d5a('0x23')](function(_0x26515c){if(_[_0x0d5a('0x55')](_0x26515c)){throw new ReferenceError(_0x0d5a('0x56'));}return _0x26515c;})[_0x0d5a('0x23')](function(_0x1a9b99){var _0x223dd4=_0x1a9b99['savePath'];logger[_0x0d5a('0x57')](_0x0d5a('0x58'),_0x223dd4);if(!_[_0x0d5a('0x55')](_0x1a9b99['savePath'])&&fs[_0x0d5a('0x50')](_0x223dd4)){logger['info']('File:\x20\x22'+_0x223dd4+_0x0d5a('0x59'));fs[_0x0d5a('0x5a')](_0x223dd4);}_0x223dd4=_0x223dd4+_0x0d5a('0x5b');if(!_[_0x0d5a('0x55')](_0x1a9b99['savePath'])&&fs['existsSync'](_0x223dd4)){logger[_0x0d5a('0x57')](_0x0d5a('0x5c')+_0x223dd4+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x223dd4);}return _0x1a9b99;})['then'](function(_0x3f5229){if(!_0x3f5229)throw new InternalError();return _0x3f5229[_0x0d5a('0x24')]();})[_0x0d5a('0x23')](function(){_0x1c4680[_0x0d5a('0x1a')](0xcc)[_0x0d5a('0x19')]();})[_0x0d5a('0x3f')](handleError(_0x1c4680,null));};