Built motion from commit 44b1f254.|2.6.26
[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 _0x5ad0=['hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','keys','create','body','download','../../components/encryptor','uniqueid','find','savePath','filename','format','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','extname','unlink','message','SquareRecording\x20not\x20found','send','Not\x20found','destroy','info','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','update','then','error','stack','name','index','map','SquareRecording','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length'];(function(_0x16ce4b,_0x2097c4){var _0x346707=function(_0x166d4a){while(--_0x166d4a){_0x16ce4b['push'](_0x16ce4b['shift']());}};_0x346707(++_0x2097c4);}(_0x5ad0,0x8f));var _0x05ad=function(_0x6bbb11,_0x44e6b5){_0x6bbb11=_0x6bbb11-0x0;var _0x4c4dc3=_0x5ad0[_0x6bbb11];return _0x4c4dc3;};'use strict';var emlformat=require(_0x05ad('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x05ad('0x1'));var jsonpatch=require(_0x05ad('0x2'));var rp=require(_0x05ad('0x3'));var moment=require(_0x05ad('0x4'));var BPromise=require(_0x05ad('0x5'));var Mustache=require(_0x05ad('0x6'));var util=require('util');var path=require(_0x05ad('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x05ad('0x8'));var fs=require('fs');var fs_extra=require(_0x05ad('0x9'));var _=require(_0x05ad('0xa'));var squel=require(_0x05ad('0xb'));var crypto=require(_0x05ad('0xc'));var jsforce=require(_0x05ad('0xd'));var deskjs=require(_0x05ad('0xe'));var toCsv=require(_0x05ad('0xf'));var querystring=require('querystring');var Papa=require(_0x05ad('0x10'));var Redis=require(_0x05ad('0x11'));var authService=require(_0x05ad('0x12'));var qs=require(_0x05ad('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x05ad('0x14'));var logger=require(_0x05ad('0x15'))(_0x05ad('0x16'));var utils=require(_0x05ad('0x17'));var config=require(_0x05ad('0x18'));var licenseUtil=require(_0x05ad('0x19'));var db=require(_0x05ad('0x1a'))['db'];function respondWithStatusCode(_0xb5ac2b,_0x11655f){_0x11655f=_0x11655f||0xcc;return function(_0x1e09b3){if(_0x1e09b3){return _0xb5ac2b[_0x05ad('0x1b')](_0x11655f);}return _0xb5ac2b[_0x05ad('0x1c')](_0x11655f)[_0x05ad('0x1d')]();};}function respondWithResult(_0x21b190,_0x314bbf){_0x314bbf=_0x314bbf||0xc8;return function(_0x17ca0f){if(_0x17ca0f){return _0x21b190['status'](_0x314bbf)[_0x05ad('0x1e')](_0x17ca0f);}};}function respondWithFilteredResult(_0x1416b4,_0x1ee62a){return function(_0x4ea200){if(_0x4ea200){var _0x3de115=typeof _0x1ee62a[_0x05ad('0x1f')]===_0x05ad('0x20')&&typeof _0x1ee62a[_0x05ad('0x21')]===_0x05ad('0x20');var _0x3a4cff=_0x4ea200[_0x05ad('0x22')];var _0x8cc230=_0x3de115?0x0:_0x1ee62a[_0x05ad('0x1f')];var _0x3b30ed=_0x3de115?_0x4ea200[_0x05ad('0x22')]:_0x1ee62a[_0x05ad('0x1f')]+_0x1ee62a[_0x05ad('0x21')];var _0xeb3f82;if(_0x3b30ed>=_0x3a4cff){_0x3b30ed=_0x3a4cff;_0xeb3f82=0xc8;}else{_0xeb3f82=0xce;}_0x1416b4[_0x05ad('0x1c')](_0xeb3f82);return _0x1416b4['set'](_0x05ad('0x23'),_0x8cc230+'-'+_0x3b30ed+'/'+_0x3a4cff)[_0x05ad('0x1e')](_0x4ea200);}return null;};}function patchUpdates(_0x3d22cf){return function(_0x35a4cf){try{jsonpatch[_0x05ad('0x24')](_0x35a4cf,_0x3d22cf,!![]);}catch(_0x18826e){return BPromise['reject'](_0x18826e);}return _0x35a4cf[_0x05ad('0x25')]();};}function saveUpdates(_0x346d61,_0x25cbcd){return function(_0x465c44){if(_0x465c44){return _0x465c44[_0x05ad('0x26')](_0x346d61)[_0x05ad('0x27')](function(_0x151fcd){return _0x151fcd;});}return null;};}function removeEntity(_0x1331df,_0x1a92f7){return function(_0x490b87){if(_0x490b87){return _0x490b87['destroy']()[_0x05ad('0x27')](function(){_0x1331df[_0x05ad('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x57f1e3,_0x6879fa){return function(_0x370748){if(!_0x370748){_0x57f1e3['sendStatus'](0x194);}return _0x370748;};}function handleError(_0x3260b6,_0x15559e){_0x15559e=_0x15559e||0x1f4;return function(_0x1f2366){logger[_0x05ad('0x28')](_0x1f2366[_0x05ad('0x29')]);if(_0x1f2366[_0x05ad('0x2a')]){delete _0x1f2366['name'];}_0x3260b6[_0x05ad('0x1c')](_0x15559e)['send'](_0x1f2366);};}exports[_0x05ad('0x2b')]=function(_0x29e5ca,_0x352ad6){var _0x4c362d={},_0x16f06c={},_0x448760={'count':0x0,'rows':[]};var _0x4e8e78=_[_0x05ad('0x2c')](db[_0x05ad('0x2d')][_0x05ad('0x2e')],function(_0x43dff4){return{'name':_0x43dff4[_0x05ad('0x2f')],'type':_0x43dff4[_0x05ad('0x30')][_0x05ad('0x31')]};});_0x16f06c[_0x05ad('0x32')]=_[_0x05ad('0x2c')](_0x4e8e78,'name');_0x16f06c['query']=_['keys'](_0x29e5ca[_0x05ad('0x33')]);_0x16f06c[_0x05ad('0x34')]=_[_0x05ad('0x35')](_0x16f06c[_0x05ad('0x32')],_0x16f06c[_0x05ad('0x33')]);_0x4c362d['attributes']=_['intersection'](_0x16f06c['model'],qs[_0x05ad('0x36')](_0x29e5ca[_0x05ad('0x33')][_0x05ad('0x36')]));_0x4c362d[_0x05ad('0x37')]=_0x4c362d[_0x05ad('0x37')][_0x05ad('0x38')]?_0x4c362d[_0x05ad('0x37')]:_0x16f06c[_0x05ad('0x32')];if(!_0x29e5ca[_0x05ad('0x33')][_0x05ad('0x39')](_0x05ad('0x3a'))){_0x4c362d['limit']=qs[_0x05ad('0x21')](_0x29e5ca[_0x05ad('0x33')][_0x05ad('0x21')]);_0x4c362d[_0x05ad('0x1f')]=qs['offset'](_0x29e5ca[_0x05ad('0x33')][_0x05ad('0x1f')]);}_0x4c362d['order']=qs[_0x05ad('0x3b')](_0x29e5ca['query'][_0x05ad('0x3b')]);_0x4c362d[_0x05ad('0x3c')]=qs[_0x05ad('0x34')](_[_0x05ad('0x3d')](_0x29e5ca['query'],_0x16f06c[_0x05ad('0x34')]),_0x4e8e78);if(_0x29e5ca[_0x05ad('0x33')][_0x05ad('0x3e')]){_0x4c362d[_0x05ad('0x3c')]=_[_0x05ad('0x3f')](_0x4c362d[_0x05ad('0x3c')],{'$or':_['map'](_0x4e8e78,function(_0x49df4f){if(_0x49df4f[_0x05ad('0x30')]!==_0x05ad('0x40')){var _0x2a75c7={};_0x2a75c7[_0x49df4f[_0x05ad('0x2a')]]={'$like':'%'+_0x29e5ca[_0x05ad('0x33')]['filter']+'%'};return _0x2a75c7;}})});}_0x4c362d=_[_0x05ad('0x3f')]({},_0x4c362d,_0x29e5ca[_0x05ad('0x41')]);var _0x2ef161={'where':_0x4c362d['where']};return db[_0x05ad('0x2d')][_0x05ad('0x22')](_0x2ef161)[_0x05ad('0x27')](function(_0x4bbcac){_0x448760[_0x05ad('0x22')]=_0x4bbcac;if(_0x29e5ca['query'][_0x05ad('0x42')]){_0x4c362d[_0x05ad('0x43')]=[{'all':!![]}];}return db[_0x05ad('0x2d')][_0x05ad('0x44')](_0x4c362d);})[_0x05ad('0x27')](function(_0x3d7bcd){_0x448760['rows']=_0x3d7bcd;return _0x448760;})[_0x05ad('0x27')](respondWithFilteredResult(_0x352ad6,_0x4c362d))[_0x05ad('0x45')](handleError(_0x352ad6,null));};exports[_0x05ad('0x46')]=function(_0x21c8c0,_0x592ec2){var _0x52d838={'raw':!![],'where':{'id':_0x21c8c0[_0x05ad('0x47')]['id']}},_0x2cc003={};_0x2cc003[_0x05ad('0x32')]=_[_0x05ad('0x48')](db['SquareRecording'][_0x05ad('0x2e')]);_0x2cc003[_0x05ad('0x33')]=_[_0x05ad('0x48')](_0x21c8c0[_0x05ad('0x33')]);_0x2cc003[_0x05ad('0x34')]=_[_0x05ad('0x35')](_0x2cc003['model'],_0x2cc003[_0x05ad('0x33')]);_0x52d838[_0x05ad('0x37')]=_[_0x05ad('0x35')](_0x2cc003['model'],qs['fields'](_0x21c8c0[_0x05ad('0x33')]['fields']));_0x52d838[_0x05ad('0x37')]=_0x52d838['attributes']['length']?_0x52d838[_0x05ad('0x37')]:_0x2cc003[_0x05ad('0x32')];if(_0x21c8c0[_0x05ad('0x33')][_0x05ad('0x42')]){_0x52d838['include']=[{'all':!![]}];}_0x52d838=_[_0x05ad('0x3f')]({},_0x52d838,_0x21c8c0[_0x05ad('0x41')]);return db[_0x05ad('0x2d')]['find'](_0x52d838)[_0x05ad('0x27')](handleEntityNotFound(_0x592ec2,null))['then'](respondWithResult(_0x592ec2,null))['catch'](handleError(_0x592ec2,null));};exports['create']=function(_0xe9616e,_0x18b9e1){return db[_0x05ad('0x2d')][_0x05ad('0x49')](_0xe9616e[_0x05ad('0x4a')],{})['then'](respondWithResult(_0x18b9e1,0xc9))[_0x05ad('0x45')](handleError(_0x18b9e1,null));};exports[_0x05ad('0x26')]=function(_0x4b809a,_0x47b2b0){if(_0x4b809a[_0x05ad('0x4a')]['id']){delete _0x4b809a[_0x05ad('0x4a')]['id'];}return db['SquareRecording']['find']({'where':{'id':_0x4b809a[_0x05ad('0x47')]['id']}})['then'](handleEntityNotFound(_0x47b2b0,null))[_0x05ad('0x27')](saveUpdates(_0x4b809a[_0x05ad('0x4a')],null))['then'](respondWithResult(_0x47b2b0,null))[_0x05ad('0x45')](handleError(_0x47b2b0,null));};exports[_0x05ad('0x4b')]=function(_0x1a0fa3,_0x3e739f,_0x4184cd){var _0x952d14=require(_0x05ad('0x4c'));var _0x2ee6d2=![];var _0x1029d8={};if(_0x1a0fa3['query'][_0x05ad('0x30')]&&_0x1a0fa3[_0x05ad('0x33')][_0x05ad('0x30')]===_0x05ad('0x4d')){_0x1029d8[_0x05ad('0x4d')]=_0x1a0fa3[_0x05ad('0x47')]['id'];}else{_0x1029d8['id']=_0x1a0fa3[_0x05ad('0x47')]['id'];}return db[_0x05ad('0x2d')][_0x05ad('0x4e')]({'where':_0x1029d8,'attributes':['id',_0x05ad('0x4f'),_0x05ad('0x50')],'raw':!![]})['then'](handleEntityNotFound(_0x3e739f,null))[_0x05ad('0x27')](function(_0x285882){if(_0x285882){var _0x2fa411=_0x285882[_0x05ad('0x4f')];var _0x98f870=util[_0x05ad('0x51')]('%s.cypher',_0x2fa411);if(fs[_0x05ad('0x52')](_0x98f870)){_0x2ee6d2=!![];return _0x952d14[_0x05ad('0x53')](_0x98f870,_0x2fa411,config[_0x05ad('0x54')][_0x05ad('0x55')])[_0x05ad('0x27')](function(){return _0x285882;});}return _0x285882;}})['then'](function(_0x13aee7){if(_0x13aee7){var _0x3cdf4f=_0x13aee7[_0x05ad('0x4f')];if(!fs[_0x05ad('0x52')](_0x3cdf4f)){throw new db[(_0x05ad('0x56'))][(_0x05ad('0x57'))]('SquareRecording\x20not\x20found');}if(_0x13aee7[_0x05ad('0x50')]){return _0x3e739f['download'](_0x3cdf4f,_0x13aee7[_0x05ad('0x50')]+path[_0x05ad('0x58')](_0x3cdf4f),function(){if(_0x2ee6d2){fs[_0x05ad('0x59')](_0x3cdf4f);}});}else{return _0x3e739f[_0x05ad('0x4b')](_0x3cdf4f,function(_0x28974c){if(_0x2ee6d2){fs[_0x05ad('0x59')](_0x3cdf4f);}});}}})[_0x05ad('0x45')](function(_0x536800){if(_0x536800[_0x05ad('0x5a')]===_0x05ad('0x5b')){_0x3e739f[_0x05ad('0x1c')](0x194)[_0x05ad('0x5c')](_0x05ad('0x5d'));}else{return handleError(_0x3e739f,null);}});};exports[_0x05ad('0x5e')]=function(_0x81ba3a,_0x2a814b){return db[_0x05ad('0x2d')][_0x05ad('0x4e')]({'where':{'id':_0x81ba3a[_0x05ad('0x47')]['id']}})[_0x05ad('0x27')](function(_0x585113){if(_['isNil'](_0x585113)){throw new ReferenceError('Entity\x20not\x20found');}return _0x585113;})[_0x05ad('0x27')](function(_0x41a19d){var _0x559daa=_0x41a19d[_0x05ad('0x4f')];logger[_0x05ad('0x5f')]('cancellazione\x20fisica\x20documento\x20%s',_0x559daa);if(!_[_0x05ad('0x60')](_0x41a19d[_0x05ad('0x4f')])&&fs['existsSync'](_0x559daa)){logger[_0x05ad('0x5f')](_0x05ad('0x61')+_0x559daa+_0x05ad('0x62'));fs['unlinkSync'](_0x559daa);}_0x559daa=_0x559daa+_0x05ad('0x63');if(!_['isNil'](_0x41a19d[_0x05ad('0x4f')])&&fs[_0x05ad('0x52')](_0x559daa)){logger[_0x05ad('0x5f')](_0x05ad('0x61')+_0x559daa+_0x05ad('0x62'));fs['unlinkSync'](_0x559daa);}return _0x41a19d;})[_0x05ad('0x27')](function(_0x297870){if(!_0x297870)throw new InternalError();return _0x297870['destroy']();})['then'](function(){_0x2a814b[_0x05ad('0x1c')](0xcc)[_0x05ad('0x1d')]();})[_0x05ad('0x45')](handleError(_0x2a814b,null));};