b21299f08503d9691d0c5c623b0dc4bf6d9c44c6
[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 _0x7685=['SquareRecording','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','catch','show','params','keys','find','body','download','uniqueid','filename','savePath','format','%s.cypher','existsSync','decryptFile','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','message','destroy','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','offset','set','apply','reject','save','update','then','end','sendStatus','error','stack','name','map'];(function(_0x51febd,_0x197caf){var _0x3af9eb=function(_0xc8f22c){while(--_0xc8f22c){_0x51febd['push'](_0x51febd['shift']());}};_0x3af9eb(++_0x197caf);}(_0x7685,0x98));var _0x5768=function(_0x3c99a4,_0x2b862b){_0x3c99a4=_0x3c99a4-0x0;var _0x21c62c=_0x7685[_0x3c99a4];return _0x21c62c;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5768('0x0'));var rimraf=require(_0x5768('0x1'));var zipdir=require(_0x5768('0x2'));var jsonpatch=require(_0x5768('0x3'));var rp=require(_0x5768('0x4'));var moment=require('moment');var BPromise=require(_0x5768('0x5'));var Mustache=require(_0x5768('0x6'));var util=require(_0x5768('0x7'));var path=require('path');var sox=require(_0x5768('0x8'));var csv=require(_0x5768('0x9'));var ejs=require(_0x5768('0xa'));var fs=require('fs');var _=require(_0x5768('0xb'));var squel=require(_0x5768('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x5768('0xd'));var toCsv=require('to-csv');var querystring=require(_0x5768('0xe'));var Papa=require(_0x5768('0xf'));var Redis=require(_0x5768('0x10'));var authService=require(_0x5768('0x11'));var qs=require(_0x5768('0x12'));var as=require(_0x5768('0x13'));var hardwareService=require(_0x5768('0x14'));var logger=require(_0x5768('0x15'))(_0x5768('0x16'));var utils=require(_0x5768('0x17'));var config=require(_0x5768('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x5768('0x19'))['db'];function respondWithStatusCode(_0x5f0f1c,_0x31e7d8){_0x31e7d8=_0x31e7d8||0xcc;return function(_0x2a8287){if(_0x2a8287){return _0x5f0f1c['sendStatus'](_0x31e7d8);}return _0x5f0f1c[_0x5768('0x1a')](_0x31e7d8)['end']();};}function respondWithResult(_0x21799d,_0x3ec706){_0x3ec706=_0x3ec706||0xc8;return function(_0x471635){if(_0x471635){return _0x21799d['status'](_0x3ec706)['json'](_0x471635);}};}function respondWithFilteredResult(_0x2e2831,_0x4574c4){return function(_0x4f5b0c){if(_0x4f5b0c){var _0x4485b8=_0x4f5b0c['count'],_0x258098=_0x4574c4[_0x5768('0x1b')],_0x26b252=_0x4574c4['offset']+_0x4574c4['limit'],_0x4d84be;if(_0x26b252>=_0x4485b8){_0x26b252=_0x4485b8;_0x4d84be=0xc8;}else{_0x4d84be=0xce;}_0x2e2831['status'](_0x4d84be);return _0x2e2831[_0x5768('0x1c')]('Content-Range',_0x258098+'-'+_0x26b252+'/'+_0x4485b8)['json'](_0x4f5b0c);}return null;};}function patchUpdates(_0x16e3ee){return function(_0x39c5d9){try{jsonpatch[_0x5768('0x1d')](_0x39c5d9,_0x16e3ee,!![]);}catch(_0xfae5ce){return BPromise[_0x5768('0x1e')](_0xfae5ce);}return _0x39c5d9[_0x5768('0x1f')]();};}function saveUpdates(_0x299f11,_0x2da3e9){return function(_0x495bcb){if(_0x495bcb){return _0x495bcb[_0x5768('0x20')](_0x299f11)[_0x5768('0x21')](function(_0x1559ff){return _0x1559ff;});}return null;};}function removeEntity(_0x1110a2,_0x2fb8aa){return function(_0x3dc1ec){if(_0x3dc1ec){return _0x3dc1ec['destroy']()[_0x5768('0x21')](function(){_0x1110a2[_0x5768('0x1a')](0xcc)[_0x5768('0x22')]();});}};}function handleEntityNotFound(_0x27cea5,_0x56c329){return function(_0x399c15){if(!_0x399c15){_0x27cea5[_0x5768('0x23')](0x194);}return _0x399c15;};}function handleError(_0x3ff6dd,_0x27d17e){_0x27d17e=_0x27d17e||0x1f4;return function(_0x2d74f5){logger[_0x5768('0x24')](_0x2d74f5[_0x5768('0x25')]);if(_0x2d74f5[_0x5768('0x26')]){delete _0x2d74f5[_0x5768('0x26')];}_0x3ff6dd[_0x5768('0x1a')](_0x27d17e)['send'](_0x2d74f5);};}exports['index']=function(_0x302609,_0x180164){var _0x5472d0={},_0x294c2e={},_0x464da5={'count':0x0,'rows':[]};var _0x2240bc=_[_0x5768('0x27')](db[_0x5768('0x28')][_0x5768('0x29')],function(_0x248b00){return{'name':_0x248b00[_0x5768('0x2a')],'type':_0x248b00[_0x5768('0x2b')][_0x5768('0x2c')]};});_0x294c2e[_0x5768('0x2d')]=_[_0x5768('0x27')](_0x2240bc,_0x5768('0x26'));_0x294c2e[_0x5768('0x2e')]=_['keys'](_0x302609[_0x5768('0x2e')]);_0x294c2e[_0x5768('0x2f')]=_[_0x5768('0x30')](_0x294c2e['model'],_0x294c2e[_0x5768('0x2e')]);_0x5472d0['attributes']=_[_0x5768('0x30')](_0x294c2e[_0x5768('0x2d')],qs[_0x5768('0x31')](_0x302609['query'][_0x5768('0x31')]));_0x5472d0[_0x5768('0x32')]=_0x5472d0['attributes'][_0x5768('0x33')]?_0x5472d0[_0x5768('0x32')]:_0x294c2e['model'];if(!_0x302609[_0x5768('0x2e')][_0x5768('0x34')](_0x5768('0x35'))){_0x5472d0['limit']=qs['limit'](_0x302609[_0x5768('0x2e')][_0x5768('0x36')]);_0x5472d0[_0x5768('0x1b')]=qs[_0x5768('0x1b')](_0x302609[_0x5768('0x2e')][_0x5768('0x1b')]);}_0x5472d0[_0x5768('0x37')]=qs[_0x5768('0x38')](_0x302609['query'][_0x5768('0x38')]);_0x5472d0[_0x5768('0x39')]=qs[_0x5768('0x2f')](_[_0x5768('0x3a')](_0x302609[_0x5768('0x2e')],_0x294c2e[_0x5768('0x2f')]),_0x2240bc);if(_0x302609[_0x5768('0x2e')]['filter']){_0x5472d0[_0x5768('0x39')]=_[_0x5768('0x3b')](_0x5472d0[_0x5768('0x39')],{'$or':_[_0x5768('0x27')](_0x2240bc,function(_0x4b99b3){if(_0x4b99b3[_0x5768('0x2b')]!==_0x5768('0x3c')){var _0x1cfaea={};_0x1cfaea[_0x4b99b3[_0x5768('0x26')]]={'$like':'%'+_0x302609['query'][_0x5768('0x3d')]+'%'};return _0x1cfaea;}})});}_0x5472d0=_[_0x5768('0x3b')]({},_0x5472d0,_0x302609[_0x5768('0x3e')]);var _0x1c42d0={'where':_0x5472d0[_0x5768('0x39')]};return db[_0x5768('0x28')][_0x5768('0x3f')](_0x1c42d0)[_0x5768('0x21')](function(_0x174d3a){_0x464da5['count']=_0x174d3a;if(_0x302609[_0x5768('0x2e')][_0x5768('0x40')]){_0x5472d0[_0x5768('0x41')]=[{'all':!![]}];}return db[_0x5768('0x28')][_0x5768('0x42')](_0x5472d0);})[_0x5768('0x21')](function(_0x2b1281){_0x464da5['rows']=_0x2b1281;return _0x464da5;})[_0x5768('0x21')](respondWithFilteredResult(_0x180164,_0x5472d0))[_0x5768('0x43')](handleError(_0x180164,null));};exports[_0x5768('0x44')]=function(_0x35e0ec,_0x298438){var _0x3142d8={'raw':!![],'where':{'id':_0x35e0ec[_0x5768('0x45')]['id']}},_0x5d06b5={};_0x5d06b5[_0x5768('0x2d')]=_[_0x5768('0x46')](db['SquareRecording']['rawAttributes']);_0x5d06b5[_0x5768('0x2e')]=_[_0x5768('0x46')](_0x35e0ec[_0x5768('0x2e')]);_0x5d06b5[_0x5768('0x2f')]=_['intersection'](_0x5d06b5[_0x5768('0x2d')],_0x5d06b5[_0x5768('0x2e')]);_0x3142d8['attributes']=_[_0x5768('0x30')](_0x5d06b5[_0x5768('0x2d')],qs[_0x5768('0x31')](_0x35e0ec[_0x5768('0x2e')][_0x5768('0x31')]));_0x3142d8[_0x5768('0x32')]=_0x3142d8[_0x5768('0x32')][_0x5768('0x33')]?_0x3142d8['attributes']:_0x5d06b5[_0x5768('0x2d')];if(_0x35e0ec[_0x5768('0x2e')]['includeAll']){_0x3142d8[_0x5768('0x41')]=[{'all':!![]}];}_0x3142d8=_[_0x5768('0x3b')]({},_0x3142d8,_0x35e0ec[_0x5768('0x3e')]);return db[_0x5768('0x28')][_0x5768('0x47')](_0x3142d8)[_0x5768('0x21')](handleEntityNotFound(_0x298438,null))[_0x5768('0x21')](respondWithResult(_0x298438,null))['catch'](handleError(_0x298438,null));};exports['create']=function(_0x18ba13,_0x2250dc){return db['SquareRecording']['create'](_0x18ba13[_0x5768('0x48')],{})[_0x5768('0x21')](respondWithResult(_0x2250dc,0xc9))[_0x5768('0x43')](handleError(_0x2250dc,null));};exports[_0x5768('0x20')]=function(_0x4ec758,_0xcb8441){if(_0x4ec758[_0x5768('0x48')]['id']){delete _0x4ec758[_0x5768('0x48')]['id'];}return db[_0x5768('0x28')][_0x5768('0x47')]({'where':{'id':_0x4ec758['params']['id']}})[_0x5768('0x21')](handleEntityNotFound(_0xcb8441,null))[_0x5768('0x21')](saveUpdates(_0x4ec758['body'],null))[_0x5768('0x21')](respondWithResult(_0xcb8441,null))[_0x5768('0x43')](handleError(_0xcb8441,null));};exports[_0x5768('0x49')]=function(_0x2429f3,_0x3e76a3,_0x554cee){var _0x1a1c69=require('../../components/encryptor');var _0x3fee4e=![];var _0x590f0a={};if(_0x2429f3['query'][_0x5768('0x2b')]&&_0x2429f3['query'][_0x5768('0x2b')]===_0x5768('0x4a')){_0x590f0a['uniqueid']=_0x2429f3[_0x5768('0x45')]['id'];}else{_0x590f0a['id']=_0x2429f3[_0x5768('0x45')]['id'];}return db[_0x5768('0x28')]['find']({'where':_0x590f0a,'attributes':['id','savePath',_0x5768('0x4b')],'raw':!![]})[_0x5768('0x21')](handleEntityNotFound(_0x3e76a3,null))[_0x5768('0x21')](function(_0x4a5f15){if(_0x4a5f15){var _0x30670f=_0x4a5f15[_0x5768('0x4c')];var _0x4efb84=util[_0x5768('0x4d')](_0x5768('0x4e'),_0x30670f);if(fs[_0x5768('0x4f')](_0x4efb84)){_0x3fee4e=!![];return _0x1a1c69[_0x5768('0x50')](_0x4efb84,_0x30670f,config['secrets'][_0x5768('0x51')])[_0x5768('0x21')](function(){return _0x4a5f15;});}return _0x4a5f15;}})['then'](function(_0x47b5fa){if(_0x47b5fa){var _0x47f614=_0x47b5fa[_0x5768('0x4c')];if(!fs['existsSync'](_0x47f614)){throw new db[(_0x5768('0x52'))][(_0x5768('0x53'))](_0x5768('0x54'));}if(_0x47b5fa['filename']){return _0x3e76a3[_0x5768('0x49')](_0x47f614,_0x47b5fa[_0x5768('0x4b')]+path[_0x5768('0x55')](_0x47f614),function(){if(_0x3fee4e){fs[_0x5768('0x56')](_0x47f614);}});}else{return _0x3e76a3['download'](_0x47f614,function(_0x2a1fc1){if(_0x3fee4e){fs['unlink'](_0x47f614);}});}}})[_0x5768('0x43')](function(_0x51af71){if(_0x51af71[_0x5768('0x57')]===_0x5768('0x54')){_0x3e76a3[_0x5768('0x1a')](0x194)['send']('Not\x20found');}else{return handleError(_0x3e76a3,null);}});};exports[_0x5768('0x58')]=function(_0x25f1f1,_0x540261){return db[_0x5768('0x28')][_0x5768('0x47')]({'where':{'id':_0x25f1f1[_0x5768('0x45')]['id']}})['then'](function(_0x5b04f5){if(!_0x5b04f5)throw new ReferenceError('Entity\x20not\x20found');return _0x5b04f5;})[_0x5768('0x21')](function(_0x58d62c){var _0x21bf69=_0x58d62c[_0x5768('0x4c')];logger[_0x5768('0x59')](_0x5768('0x5a'),_0x21bf69);if(!_[_0x5768('0x5b')](_0x58d62c[_0x5768('0x4c')])&&fs['existsSync'](_0x21bf69)){logger[_0x5768('0x59')](_0x5768('0x5c')+_0x21bf69+_0x5768('0x5d'));fs[_0x5768('0x5e')](_0x21bf69);}_0x21bf69=_0x21bf69+_0x5768('0x5f');if(!_[_0x5768('0x5b')](_0x58d62c['savePath'])&&fs[_0x5768('0x4f')](_0x21bf69)){logger[_0x5768('0x59')](_0x5768('0x5c')+_0x21bf69+_0x5768('0x5d'));fs[_0x5768('0x5e')](_0x21bf69);}return _0x58d62c;})[_0x5768('0x21')](function(_0x1c0b70){if(!_0x1c0b70)throw new InternalError();return _0x1c0b70[_0x5768('0x58')]();})[_0x5768('0x21')](function(){_0x540261['status'](0xcc)[_0x5768('0x22')]();})[_0x5768('0x43')](handleError(_0x540261,null));};