11745f83939b9881a45d2bd133f60b12587321dd
[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 _0x9016=['length','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','options','SquareRecording','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','download','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','unlink','Not\x20found','Entity\x20not\x20found','info','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','html-pdf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','then','destroy','end','error','stack','name','send','index','map','fieldName','key','query','keys','filters','intersection','model','attributes','fields'];(function(_0x29acb1,_0x13c989){var _0x34ee8b=function(_0x24a661){while(--_0x24a661){_0x29acb1['push'](_0x29acb1['shift']());}};_0x34ee8b(++_0x13c989);}(_0x9016,0x198));var _0x6901=function(_0x22bcf6,_0x246289){_0x22bcf6=_0x22bcf6-0x0;var _0x4ed918=_0x9016[_0x22bcf6];return _0x4ed918;};'use strict';var pdf=require(_0x6901('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x6901('0x1'));var jsonpatch=require(_0x6901('0x2'));var rp=require(_0x6901('0x3'));var moment=require(_0x6901('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x6901('0x5'));var util=require('util');var path=require(_0x6901('0x6'));var sox=require('sox');var csv=require(_0x6901('0x7'));var ejs=require(_0x6901('0x8'));var fs=require('fs');var _=require(_0x6901('0x9'));var squel=require(_0x6901('0xa'));var crypto=require(_0x6901('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6901('0x7'));var querystring=require(_0x6901('0xc'));var Papa=require(_0x6901('0xd'));var Redis=require('ioredis');var authService=require(_0x6901('0xe'));var qs=require(_0x6901('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x6901('0x10'))('api');var utils=require(_0x6901('0x11'));var config=require(_0x6901('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x6901('0x13'))['db'];function respondWithStatusCode(_0x5bfaa7,_0x40ee77){_0x40ee77=_0x40ee77||0xcc;return function(_0x1ad948){if(_0x1ad948){return _0x5bfaa7[_0x6901('0x14')](_0x40ee77);}return _0x5bfaa7[_0x6901('0x15')](_0x40ee77)['end']();};}function respondWithResult(_0x30862b,_0x3282b4){_0x3282b4=_0x3282b4||0xc8;return function(_0x206f85){if(_0x206f85){return _0x30862b[_0x6901('0x15')](_0x3282b4)[_0x6901('0x16')](_0x206f85);}};}function respondWithFilteredResult(_0x44bad2,_0xbac92){return function(_0xf614fb){if(_0xf614fb){var _0x56648c=_0xf614fb[_0x6901('0x17')],_0x102488=_0xbac92[_0x6901('0x18')],_0x28df51=_0xbac92[_0x6901('0x18')]+_0xbac92[_0x6901('0x19')],_0x4e3fe7;if(_0x28df51>=_0x56648c){_0x28df51=_0x56648c;_0x4e3fe7=0xc8;}else{_0x4e3fe7=0xce;}_0x44bad2[_0x6901('0x15')](_0x4e3fe7);return _0x44bad2['set'](_0x6901('0x1a'),_0x102488+'-'+_0x28df51+'/'+_0x56648c)['json'](_0xf614fb);}return null;};}function patchUpdates(_0x38e206){return function(_0x27eac3){try{jsonpatch[_0x6901('0x1b')](_0x27eac3,_0x38e206,!![]);}catch(_0x993bf0){return BPromise[_0x6901('0x1c')](_0x993bf0);}return _0x27eac3['save']();};}function saveUpdates(_0x2952b5,_0x1f8695){return function(_0x544340){if(_0x544340){return _0x544340['update'](_0x2952b5)[_0x6901('0x1d')](function(_0x46437d){return _0x46437d;});}return null;};}function removeEntity(_0x219088,_0x3dbbb6){return function(_0x18fdf7){if(_0x18fdf7){return _0x18fdf7[_0x6901('0x1e')]()[_0x6901('0x1d')](function(){_0x219088[_0x6901('0x15')](0xcc)[_0x6901('0x1f')]();});}};}function handleEntityNotFound(_0x4e4186,_0x14bee3){return function(_0x3ae864){if(!_0x3ae864){_0x4e4186[_0x6901('0x14')](0x194);}return _0x3ae864;};}function handleError(_0xafe2b9,_0x53a424){_0x53a424=_0x53a424||0x1f4;return function(_0x396118){logger[_0x6901('0x20')](_0x396118[_0x6901('0x21')]);if(_0x396118[_0x6901('0x22')]){delete _0x396118['name'];}_0xafe2b9[_0x6901('0x15')](_0x53a424)[_0x6901('0x23')](_0x396118);};}exports[_0x6901('0x24')]=function(_0x166447,_0xf29588){var _0x479701={},_0x94bf71={},_0x5e0e4a={'count':0x0,'rows':[]};var _0x1f15ef=_[_0x6901('0x25')](db['SquareRecording']['rawAttributes'],function(_0x4ced80){return{'name':_0x4ced80[_0x6901('0x26')],'type':_0x4ced80['type'][_0x6901('0x27')]};});_0x94bf71['model']=_[_0x6901('0x25')](_0x1f15ef,'name');_0x94bf71[_0x6901('0x28')]=_[_0x6901('0x29')](_0x166447[_0x6901('0x28')]);_0x94bf71[_0x6901('0x2a')]=_[_0x6901('0x2b')](_0x94bf71[_0x6901('0x2c')],_0x94bf71[_0x6901('0x28')]);_0x479701[_0x6901('0x2d')]=_[_0x6901('0x2b')](_0x94bf71[_0x6901('0x2c')],qs[_0x6901('0x2e')](_0x166447[_0x6901('0x28')][_0x6901('0x2e')]));_0x479701[_0x6901('0x2d')]=_0x479701[_0x6901('0x2d')][_0x6901('0x2f')]?_0x479701[_0x6901('0x2d')]:_0x94bf71[_0x6901('0x2c')];if(!_0x166447[_0x6901('0x28')]['hasOwnProperty'](_0x6901('0x30'))){_0x479701['limit']=qs[_0x6901('0x19')](_0x166447[_0x6901('0x28')][_0x6901('0x19')]);_0x479701[_0x6901('0x18')]=qs[_0x6901('0x18')](_0x166447['query'][_0x6901('0x18')]);}_0x479701['order']=qs[_0x6901('0x31')](_0x166447['query'][_0x6901('0x31')]);_0x479701[_0x6901('0x32')]=qs[_0x6901('0x2a')](_[_0x6901('0x33')](_0x166447['query'],_0x94bf71[_0x6901('0x2a')]),_0x1f15ef);if(_0x166447[_0x6901('0x28')][_0x6901('0x34')]){_0x479701[_0x6901('0x32')]=_[_0x6901('0x35')](_0x479701[_0x6901('0x32')],{'$or':_[_0x6901('0x25')](_0x1f15ef,function(_0x26ce05){if(_0x26ce05[_0x6901('0x36')]!==_0x6901('0x37')){var _0x5cfae3={};_0x5cfae3[_0x26ce05['name']]={'$like':'%'+_0x166447[_0x6901('0x28')][_0x6901('0x34')]+'%'};return _0x5cfae3;}})});}_0x479701=_[_0x6901('0x35')]({},_0x479701,_0x166447[_0x6901('0x38')]);var _0x20d08d={'where':_0x479701[_0x6901('0x32')]};return db[_0x6901('0x39')][_0x6901('0x17')](_0x20d08d)[_0x6901('0x1d')](function(_0x2ef99d){_0x5e0e4a['count']=_0x2ef99d;if(_0x166447[_0x6901('0x28')][_0x6901('0x3a')]){_0x479701[_0x6901('0x3b')]=[{'all':!![]}];}return db['SquareRecording'][_0x6901('0x3c')](_0x479701);})['then'](function(_0x319fc7){_0x5e0e4a[_0x6901('0x3d')]=_0x319fc7;return _0x5e0e4a;})['then'](respondWithFilteredResult(_0xf29588,_0x479701))[_0x6901('0x3e')](handleError(_0xf29588,null));};exports[_0x6901('0x3f')]=function(_0x4b0d61,_0x3826f2){var _0x1d1359={'raw':!![],'where':{'id':_0x4b0d61[_0x6901('0x40')]['id']}},_0x4c129c={};_0x4c129c[_0x6901('0x2c')]=_[_0x6901('0x29')](db[_0x6901('0x39')][_0x6901('0x41')]);_0x4c129c[_0x6901('0x28')]=_[_0x6901('0x29')](_0x4b0d61[_0x6901('0x28')]);_0x4c129c[_0x6901('0x2a')]=_[_0x6901('0x2b')](_0x4c129c[_0x6901('0x2c')],_0x4c129c[_0x6901('0x28')]);_0x1d1359[_0x6901('0x2d')]=_[_0x6901('0x2b')](_0x4c129c[_0x6901('0x2c')],qs[_0x6901('0x2e')](_0x4b0d61[_0x6901('0x28')][_0x6901('0x2e')]));_0x1d1359['attributes']=_0x1d1359[_0x6901('0x2d')][_0x6901('0x2f')]?_0x1d1359[_0x6901('0x2d')]:_0x4c129c[_0x6901('0x2c')];if(_0x4b0d61[_0x6901('0x28')][_0x6901('0x3a')]){_0x1d1359[_0x6901('0x3b')]=[{'all':!![]}];}_0x1d1359=_['merge']({},_0x1d1359,_0x4b0d61['options']);return db[_0x6901('0x39')][_0x6901('0x42')](_0x1d1359)[_0x6901('0x1d')](handleEntityNotFound(_0x3826f2,null))[_0x6901('0x1d')](respondWithResult(_0x3826f2,null))[_0x6901('0x3e')](handleError(_0x3826f2,null));};exports[_0x6901('0x43')]=function(_0x23daa3,_0x48d650){return db[_0x6901('0x39')][_0x6901('0x43')](_0x23daa3[_0x6901('0x44')],{})['then'](respondWithResult(_0x48d650,0xc9))[_0x6901('0x3e')](handleError(_0x48d650,null));};exports['update']=function(_0x53eadd,_0x5959ac){if(_0x53eadd['body']['id']){delete _0x53eadd[_0x6901('0x44')]['id'];}return db[_0x6901('0x39')]['find']({'where':{'id':_0x53eadd[_0x6901('0x40')]['id']}})[_0x6901('0x1d')](handleEntityNotFound(_0x5959ac,null))[_0x6901('0x1d')](saveUpdates(_0x53eadd[_0x6901('0x44')],null))[_0x6901('0x1d')](respondWithResult(_0x5959ac,null))[_0x6901('0x3e')](handleError(_0x5959ac,null));};exports[_0x6901('0x45')]=function(_0x1cc626,_0x434262,_0x48caa7){var _0xf3a293=require('../../components/encryptor');var _0x505059=![];var _0x324b5d={};if(_0x1cc626[_0x6901('0x28')][_0x6901('0x36')]&&_0x1cc626[_0x6901('0x28')][_0x6901('0x36')]==='uniqueid'){_0x324b5d[_0x6901('0x46')]=_0x1cc626['params']['id'];}else{_0x324b5d['id']=_0x1cc626[_0x6901('0x40')]['id'];}return db[_0x6901('0x39')]['find']({'where':_0x324b5d,'attributes':['id',_0x6901('0x47'),_0x6901('0x48')],'raw':!![]})['then'](handleEntityNotFound(_0x434262,null))['then'](function(_0x432996){if(_0x432996){var _0x5f1400=_0x432996[_0x6901('0x47')];var _0x34ee34=util[_0x6901('0x49')](_0x6901('0x4a'),_0x5f1400);if(fs[_0x6901('0x4b')](_0x34ee34)){_0x505059=!![];return _0xf3a293[_0x6901('0x4c')](_0x34ee34,_0x5f1400,config[_0x6901('0x4d')][_0x6901('0x4e')])[_0x6901('0x1d')](function(){return _0x432996;});}return _0x432996;}})[_0x6901('0x1d')](function(_0x27a146){if(_0x27a146){var _0x408e13=_0x27a146['savePath'];if(!fs[_0x6901('0x4b')](_0x408e13)){throw new db[(_0x6901('0x4f'))][(_0x6901('0x50'))](_0x6901('0x51'));}if(_0x27a146[_0x6901('0x48')]){return _0x434262[_0x6901('0x45')](_0x408e13,_0x27a146[_0x6901('0x48')]+path['extname'](_0x408e13),function(){if(_0x505059){fs[_0x6901('0x52')](_0x408e13);}});}else{return _0x434262[_0x6901('0x45')](_0x408e13,function(_0x5e631d){if(_0x505059){fs[_0x6901('0x52')](_0x408e13);}});}}})['catch'](function(_0x438eb3){if(_0x438eb3['message']===_0x6901('0x51')){_0x434262[_0x6901('0x15')](0x194)[_0x6901('0x23')](_0x6901('0x53'));}else{return handleError(_0x434262,null);}});};exports[_0x6901('0x1e')]=function(_0x35ab94,_0x30d421){return db[_0x6901('0x39')][_0x6901('0x42')]({'where':{'id':_0x35ab94[_0x6901('0x40')]['id']}})[_0x6901('0x1d')](function(_0x3fb9e5){if(!_0x3fb9e5)throw new ReferenceError(_0x6901('0x54'));return _0x3fb9e5;})['then'](function(_0x10e913){var _0x3041ba=_0x10e913['savePath'];logger[_0x6901('0x55')]('cancellazione\x20fisica\x20documento\x20%s',_0x3041ba);if(!_[_0x6901('0x56')](_0x10e913[_0x6901('0x47')])&&fs[_0x6901('0x4b')](_0x3041ba)){logger['info'](_0x6901('0x57')+_0x3041ba+_0x6901('0x58'));fs['unlinkSync'](_0x3041ba);}_0x3041ba=_0x3041ba+_0x6901('0x59');if(!_['isNil'](_0x10e913[_0x6901('0x47')])&&fs[_0x6901('0x4b')](_0x3041ba)){logger['info'](_0x6901('0x57')+_0x3041ba+_0x6901('0x58'));fs[_0x6901('0x5a')](_0x3041ba);}return _0x10e913;})[_0x6901('0x1d')](function(_0x30cf1a){if(!_0x30cf1a)throw new InternalError();return _0x30cf1a[_0x6901('0x1e')]();})[_0x6901('0x1d')](function(){_0x30d421['status'](0xcc)[_0x6901('0x1f')]();})[_0x6901('0x3e')](handleError(_0x30d421,null));};