Built motion from commit 88aa8522.|2.5.37
[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 _0x641a=['VIRTUAL','filter','options','includeAll','include','findAll','show','keys','catch','create','body','find','params','download','uniqueid','savePath','filename','format','existsSync','decryptFile','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','Not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','File:\x20\x22','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','key','model','query','filters','attributes','intersection','fields','length','nolimit','order','sort','where','pick','merge','type'];(function(_0x4662e3,_0x3c9e27){var _0x3ab0e7=function(_0x5f1d33){while(--_0x5f1d33){_0x4662e3['push'](_0x4662e3['shift']());}};_0x3ab0e7(++_0x3c9e27);}(_0x641a,0x1ae));var _0xa641=function(_0x267ad4,_0x1d1b88){_0x267ad4=_0x267ad4-0x0;var _0x2f3a7b=_0x641a[_0x267ad4];return _0x2f3a7b;};'use strict';var emlformat=require(_0xa641('0x0'));var rimraf=require(_0xa641('0x1'));var zipdir=require(_0xa641('0x2'));var jsonpatch=require(_0xa641('0x3'));var rp=require(_0xa641('0x4'));var moment=require(_0xa641('0x5'));var BPromise=require(_0xa641('0x6'));var Mustache=require(_0xa641('0x7'));var util=require('util');var path=require(_0xa641('0x8'));var sox=require(_0xa641('0x9'));var csv=require(_0xa641('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa641('0xb'));var _=require(_0xa641('0xc'));var squel=require('squel');var crypto=require(_0xa641('0xd'));var jsforce=require(_0xa641('0xe'));var deskjs=require(_0xa641('0xf'));var toCsv=require(_0xa641('0xa'));var querystring=require(_0xa641('0x10'));var Papa=require(_0xa641('0x11'));var Redis=require(_0xa641('0x12'));var authService=require(_0xa641('0x13'));var qs=require(_0xa641('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa641('0x15'));var logger=require(_0xa641('0x16'))(_0xa641('0x17'));var utils=require(_0xa641('0x18'));var config=require(_0xa641('0x19'));var licenseUtil=require(_0xa641('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3811a4,_0x550be8){_0x550be8=_0x550be8||0xcc;return function(_0x1de137){if(_0x1de137){return _0x3811a4[_0xa641('0x1b')](_0x550be8);}return _0x3811a4['status'](_0x550be8)[_0xa641('0x1c')]();};}function respondWithResult(_0x240e3d,_0x5a9770){_0x5a9770=_0x5a9770||0xc8;return function(_0x230006){if(_0x230006){return _0x240e3d[_0xa641('0x1d')](_0x5a9770)[_0xa641('0x1e')](_0x230006);}};}function respondWithFilteredResult(_0xa25c9e,_0x47ead0){return function(_0x2507b4){if(_0x2507b4){var _0x4ab732=typeof _0x47ead0[_0xa641('0x1f')]===_0xa641('0x20')&&typeof _0x47ead0[_0xa641('0x21')]===_0xa641('0x20');var _0xa08834=_0x2507b4['count'];var _0x15b9f7=_0x4ab732?0x0:_0x47ead0[_0xa641('0x1f')];var _0x3e9698=_0x4ab732?_0x2507b4[_0xa641('0x22')]:_0x47ead0[_0xa641('0x1f')]+_0x47ead0['limit'];var _0x2f7926;if(_0x3e9698>=_0xa08834){_0x3e9698=_0xa08834;_0x2f7926=0xc8;}else{_0x2f7926=0xce;}_0xa25c9e['status'](_0x2f7926);return _0xa25c9e[_0xa641('0x23')](_0xa641('0x24'),_0x15b9f7+'-'+_0x3e9698+'/'+_0xa08834)['json'](_0x2507b4);}return null;};}function patchUpdates(_0x3fd0d3){return function(_0xc3bdd){try{jsonpatch[_0xa641('0x25')](_0xc3bdd,_0x3fd0d3,!![]);}catch(_0x43407d){return BPromise['reject'](_0x43407d);}return _0xc3bdd[_0xa641('0x26')]();};}function saveUpdates(_0x474d87,_0x5250a4){return function(_0x2c61a1){if(_0x2c61a1){return _0x2c61a1[_0xa641('0x27')](_0x474d87)[_0xa641('0x28')](function(_0x310c68){return _0x310c68;});}return null;};}function removeEntity(_0x3312a5,_0x4fdb91){return function(_0x1e1347){if(_0x1e1347){return _0x1e1347[_0xa641('0x29')]()['then'](function(){_0x3312a5['status'](0xcc)[_0xa641('0x1c')]();});}};}function handleEntityNotFound(_0x4ae23a,_0x4c3efb){return function(_0x52157a){if(!_0x52157a){_0x4ae23a[_0xa641('0x1b')](0x194);}return _0x52157a;};}function handleError(_0xe7f1df,_0x114f94){_0x114f94=_0x114f94||0x1f4;return function(_0x4fb602){logger['error'](_0x4fb602[_0xa641('0x2a')]);if(_0x4fb602[_0xa641('0x2b')]){delete _0x4fb602[_0xa641('0x2b')];}_0xe7f1df[_0xa641('0x1d')](_0x114f94)[_0xa641('0x2c')](_0x4fb602);};}exports[_0xa641('0x2d')]=function(_0x8ac137,_0x96538c){var _0x41854f={},_0x56ee89={},_0x59235a={'count':0x0,'rows':[]};var _0x49ab3b=_[_0xa641('0x2e')](db[_0xa641('0x2f')][_0xa641('0x30')],function(_0x4000e5){return{'name':_0x4000e5[_0xa641('0x31')],'type':_0x4000e5['type'][_0xa641('0x32')]};});_0x56ee89[_0xa641('0x33')]=_[_0xa641('0x2e')](_0x49ab3b,_0xa641('0x2b'));_0x56ee89['query']=_['keys'](_0x8ac137[_0xa641('0x34')]);_0x56ee89[_0xa641('0x35')]=_['intersection'](_0x56ee89[_0xa641('0x33')],_0x56ee89[_0xa641('0x34')]);_0x41854f[_0xa641('0x36')]=_[_0xa641('0x37')](_0x56ee89[_0xa641('0x33')],qs['fields'](_0x8ac137[_0xa641('0x34')][_0xa641('0x38')]));_0x41854f['attributes']=_0x41854f['attributes'][_0xa641('0x39')]?_0x41854f['attributes']:_0x56ee89['model'];if(!_0x8ac137[_0xa641('0x34')]['hasOwnProperty'](_0xa641('0x3a'))){_0x41854f[_0xa641('0x21')]=qs[_0xa641('0x21')](_0x8ac137[_0xa641('0x34')][_0xa641('0x21')]);_0x41854f[_0xa641('0x1f')]=qs[_0xa641('0x1f')](_0x8ac137['query'][_0xa641('0x1f')]);}_0x41854f[_0xa641('0x3b')]=qs[_0xa641('0x3c')](_0x8ac137['query'][_0xa641('0x3c')]);_0x41854f[_0xa641('0x3d')]=qs[_0xa641('0x35')](_[_0xa641('0x3e')](_0x8ac137[_0xa641('0x34')],_0x56ee89[_0xa641('0x35')]),_0x49ab3b);if(_0x8ac137[_0xa641('0x34')]['filter']){_0x41854f[_0xa641('0x3d')]=_[_0xa641('0x3f')](_0x41854f[_0xa641('0x3d')],{'$or':_[_0xa641('0x2e')](_0x49ab3b,function(_0x5360d5){if(_0x5360d5[_0xa641('0x40')]!==_0xa641('0x41')){var _0x14110b={};_0x14110b[_0x5360d5['name']]={'$like':'%'+_0x8ac137[_0xa641('0x34')][_0xa641('0x42')]+'%'};return _0x14110b;}})});}_0x41854f=_[_0xa641('0x3f')]({},_0x41854f,_0x8ac137[_0xa641('0x43')]);var _0x36b284={'where':_0x41854f[_0xa641('0x3d')]};return db[_0xa641('0x2f')][_0xa641('0x22')](_0x36b284)[_0xa641('0x28')](function(_0x3d21b1){_0x59235a[_0xa641('0x22')]=_0x3d21b1;if(_0x8ac137[_0xa641('0x34')][_0xa641('0x44')]){_0x41854f[_0xa641('0x45')]=[{'all':!![]}];}return db[_0xa641('0x2f')][_0xa641('0x46')](_0x41854f);})[_0xa641('0x28')](function(_0x48d01b){_0x59235a['rows']=_0x48d01b;return _0x59235a;})[_0xa641('0x28')](respondWithFilteredResult(_0x96538c,_0x41854f))['catch'](handleError(_0x96538c,null));};exports[_0xa641('0x47')]=function(_0x29a44f,_0xfaab63){var _0x349ca4={'raw':!![],'where':{'id':_0x29a44f['params']['id']}},_0x5b4443={};_0x5b4443[_0xa641('0x33')]=_['keys'](db[_0xa641('0x2f')][_0xa641('0x30')]);_0x5b4443[_0xa641('0x34')]=_[_0xa641('0x48')](_0x29a44f[_0xa641('0x34')]);_0x5b4443[_0xa641('0x35')]=_[_0xa641('0x37')](_0x5b4443[_0xa641('0x33')],_0x5b4443[_0xa641('0x34')]);_0x349ca4[_0xa641('0x36')]=_['intersection'](_0x5b4443[_0xa641('0x33')],qs['fields'](_0x29a44f['query'][_0xa641('0x38')]));_0x349ca4[_0xa641('0x36')]=_0x349ca4['attributes']['length']?_0x349ca4['attributes']:_0x5b4443['model'];if(_0x29a44f[_0xa641('0x34')]['includeAll']){_0x349ca4['include']=[{'all':!![]}];}_0x349ca4=_[_0xa641('0x3f')]({},_0x349ca4,_0x29a44f[_0xa641('0x43')]);return db[_0xa641('0x2f')]['find'](_0x349ca4)[_0xa641('0x28')](handleEntityNotFound(_0xfaab63,null))[_0xa641('0x28')](respondWithResult(_0xfaab63,null))[_0xa641('0x49')](handleError(_0xfaab63,null));};exports['create']=function(_0x24bd19,_0x4ac222){return db[_0xa641('0x2f')][_0xa641('0x4a')](_0x24bd19[_0xa641('0x4b')],{})[_0xa641('0x28')](respondWithResult(_0x4ac222,0xc9))[_0xa641('0x49')](handleError(_0x4ac222,null));};exports[_0xa641('0x27')]=function(_0xc6ab73,_0x2561d8){if(_0xc6ab73[_0xa641('0x4b')]['id']){delete _0xc6ab73[_0xa641('0x4b')]['id'];}return db[_0xa641('0x2f')][_0xa641('0x4c')]({'where':{'id':_0xc6ab73[_0xa641('0x4d')]['id']}})[_0xa641('0x28')](handleEntityNotFound(_0x2561d8,null))[_0xa641('0x28')](saveUpdates(_0xc6ab73[_0xa641('0x4b')],null))[_0xa641('0x28')](respondWithResult(_0x2561d8,null))[_0xa641('0x49')](handleError(_0x2561d8,null));};exports[_0xa641('0x4e')]=function(_0x9ea5ed,_0x10a72b,_0x134c6a){var _0x1bac87=require('../../components/encryptor');var _0x4a6102=![];var _0x36f892={};if(_0x9ea5ed['query'][_0xa641('0x40')]&&_0x9ea5ed[_0xa641('0x34')]['type']===_0xa641('0x4f')){_0x36f892[_0xa641('0x4f')]=_0x9ea5ed[_0xa641('0x4d')]['id'];}else{_0x36f892['id']=_0x9ea5ed[_0xa641('0x4d')]['id'];}return db[_0xa641('0x2f')][_0xa641('0x4c')]({'where':_0x36f892,'attributes':['id',_0xa641('0x50'),_0xa641('0x51')],'raw':!![]})['then'](handleEntityNotFound(_0x10a72b,null))['then'](function(_0x5195cc){if(_0x5195cc){var _0xa5fb30=_0x5195cc[_0xa641('0x50')];var _0x27984a=util[_0xa641('0x52')]('%s.cypher',_0xa5fb30);if(fs[_0xa641('0x53')](_0x27984a)){_0x4a6102=!![];return _0x1bac87[_0xa641('0x54')](_0x27984a,_0xa5fb30,config['secrets'][_0xa641('0x55')])[_0xa641('0x28')](function(){return _0x5195cc;});}return _0x5195cc;}})[_0xa641('0x28')](function(_0x5530ca){if(_0x5530ca){var _0x24ba7b=_0x5530ca['savePath'];if(!fs['existsSync'](_0x24ba7b)){throw new db[(_0xa641('0x56'))][(_0xa641('0x57'))](_0xa641('0x58'));}if(_0x5530ca['filename']){return _0x10a72b[_0xa641('0x4e')](_0x24ba7b,_0x5530ca['filename']+path[_0xa641('0x59')](_0x24ba7b),function(){if(_0x4a6102){fs[_0xa641('0x5a')](_0x24ba7b);}});}else{return _0x10a72b[_0xa641('0x4e')](_0x24ba7b,function(_0xb51a23){if(_0x4a6102){fs[_0xa641('0x5a')](_0x24ba7b);}});}}})[_0xa641('0x49')](function(_0x40ba83){if(_0x40ba83['message']==='SquareRecording\x20not\x20found'){_0x10a72b['status'](0x194)[_0xa641('0x2c')](_0xa641('0x5b'));}else{return handleError(_0x10a72b,null);}});};exports[_0xa641('0x29')]=function(_0xb33477,_0x3dfaab){return db[_0xa641('0x2f')][_0xa641('0x4c')]({'where':{'id':_0xb33477[_0xa641('0x4d')]['id']}})[_0xa641('0x28')](function(_0x1bdda4){if(_[_0xa641('0x5c')](_0x1bdda4)){throw new ReferenceError(_0xa641('0x5d'));}return _0x1bdda4;})['then'](function(_0x4501d8){var _0x5c58d0=_0x4501d8[_0xa641('0x50')];logger[_0xa641('0x5e')](_0xa641('0x5f'),_0x5c58d0);if(!_[_0xa641('0x5c')](_0x4501d8['savePath'])&&fs[_0xa641('0x53')](_0x5c58d0)){logger[_0xa641('0x5e')]('File:\x20\x22'+_0x5c58d0+_0xa641('0x60'));fs['unlinkSync'](_0x5c58d0);}_0x5c58d0=_0x5c58d0+_0xa641('0x61');if(!_[_0xa641('0x5c')](_0x4501d8[_0xa641('0x50')])&&fs[_0xa641('0x53')](_0x5c58d0)){logger[_0xa641('0x5e')](_0xa641('0x62')+_0x5c58d0+_0xa641('0x60'));fs['unlinkSync'](_0x5c58d0);}return _0x4501d8;})[_0xa641('0x28')](function(_0x34ae76){if(!_0x34ae76)throw new InternalError();return _0x34ae76[_0xa641('0x29')]();})[_0xa641('0x28')](function(){_0x3dfaab['status'](0xcc)[_0xa641('0x1c')]();})[_0xa641('0x49')](handleError(_0x3dfaab,null));};