Built motion from commit (unavailable).|2.5.9
[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 _0xc3ee=['rawAttributes','create','body','download','../../components/encryptor','uniqueid','find','savePath','filename','format','secrets','SquareRecording\x20not\x20found','extname','unlink','message','Not\x20found','destroy','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','existsSync','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','html-pdf','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','Content-Range','apply','reject','save','update','then','error','stack','name','send','map','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','SquareRecording','count','includeAll','include','rows','catch','show','params'];(function(_0x3ab51d,_0x2fa01d){var _0x29a04e=function(_0x7807b0){while(--_0x7807b0){_0x3ab51d['push'](_0x3ab51d['shift']());}};_0x29a04e(++_0x2fa01d);}(_0xc3ee,0xd1));var _0xec3e=function(_0x433ec3,_0x3e7a98){_0x433ec3=_0x433ec3-0x0;var _0x4fbee1=_0xc3ee[_0x433ec3];return _0x4fbee1;};'use strict';var pdf=require(_0xec3e('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xec3e('0x1'));var zipdir=require(_0xec3e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xec3e('0x3'));var moment=require('moment');var BPromise=require(_0xec3e('0x4'));var Mustache=require(_0xec3e('0x5'));var util=require(_0xec3e('0x6'));var path=require(_0xec3e('0x7'));var sox=require(_0xec3e('0x8'));var csv=require(_0xec3e('0x9'));var ejs=require(_0xec3e('0xa'));var fs=require('fs');var _=require(_0xec3e('0xb'));var squel=require('squel');var crypto=require(_0xec3e('0xc'));var jsforce=require(_0xec3e('0xd'));var deskjs=require(_0xec3e('0xe'));var toCsv=require(_0xec3e('0x9'));var querystring=require(_0xec3e('0xf'));var Papa=require('papaparse');var Redis=require(_0xec3e('0x10'));var authService=require(_0xec3e('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xec3e('0x12'))(_0xec3e('0x13'));var utils=require(_0xec3e('0x14'));var config=require(_0xec3e('0x15'));var licenseUtil=require(_0xec3e('0x16'));var db=require(_0xec3e('0x17'))['db'];function respondWithStatusCode(_0x19d273,_0x1c6881){_0x1c6881=_0x1c6881||0xcc;return function(_0x45917e){if(_0x45917e){return _0x19d273[_0xec3e('0x18')](_0x1c6881);}return _0x19d273[_0xec3e('0x19')](_0x1c6881)[_0xec3e('0x1a')]();};}function respondWithResult(_0x26ea30,_0x5c8c35){_0x5c8c35=_0x5c8c35||0xc8;return function(_0x4877b1){if(_0x4877b1){return _0x26ea30[_0xec3e('0x19')](_0x5c8c35)[_0xec3e('0x1b')](_0x4877b1);}};}function respondWithFilteredResult(_0x49ef33,_0x12b340){return function(_0x44775f){if(_0x44775f){var _0x351035=_0x44775f['count'],_0x1c5eb4=_0x12b340['offset'],_0x4ef587=_0x12b340[_0xec3e('0x1c')]+_0x12b340['limit'],_0x11570e;if(_0x4ef587>=_0x351035){_0x4ef587=_0x351035;_0x11570e=0xc8;}else{_0x11570e=0xce;}_0x49ef33[_0xec3e('0x19')](_0x11570e);return _0x49ef33['set'](_0xec3e('0x1d'),_0x1c5eb4+'-'+_0x4ef587+'/'+_0x351035)[_0xec3e('0x1b')](_0x44775f);}return null;};}function patchUpdates(_0x3eb58a){return function(_0x1d0197){try{jsonpatch[_0xec3e('0x1e')](_0x1d0197,_0x3eb58a,!![]);}catch(_0x56524e){return BPromise[_0xec3e('0x1f')](_0x56524e);}return _0x1d0197[_0xec3e('0x20')]();};}function saveUpdates(_0x2fed30,_0x15b645){return function(_0x83251b){if(_0x83251b){return _0x83251b[_0xec3e('0x21')](_0x2fed30)[_0xec3e('0x22')](function(_0xed39){return _0xed39;});}return null;};}function removeEntity(_0x294d68,_0x7f170){return function(_0x50efa2){if(_0x50efa2){return _0x50efa2['destroy']()['then'](function(){_0x294d68[_0xec3e('0x19')](0xcc)[_0xec3e('0x1a')]();});}};}function handleEntityNotFound(_0x48773b,_0x2d51b8){return function(_0x5304d5){if(!_0x5304d5){_0x48773b['sendStatus'](0x194);}return _0x5304d5;};}function handleError(_0x125e48,_0x559894){_0x559894=_0x559894||0x1f4;return function(_0x52cada){logger[_0xec3e('0x23')](_0x52cada[_0xec3e('0x24')]);if(_0x52cada[_0xec3e('0x25')]){delete _0x52cada['name'];}_0x125e48[_0xec3e('0x19')](_0x559894)[_0xec3e('0x26')](_0x52cada);};}exports['index']=function(_0x2aa472,_0x24f421){var _0xa097f0={},_0x20fd67={},_0x43cda8={'count':0x0,'rows':[]};var _0xf5aa6=_[_0xec3e('0x27')](db['SquareRecording']['rawAttributes'],function(_0x5b2f0b){return{'name':_0x5b2f0b['fieldName'],'type':_0x5b2f0b[_0xec3e('0x28')][_0xec3e('0x29')]};});_0x20fd67[_0xec3e('0x2a')]=_[_0xec3e('0x27')](_0xf5aa6,_0xec3e('0x25'));_0x20fd67[_0xec3e('0x2b')]=_[_0xec3e('0x2c')](_0x2aa472[_0xec3e('0x2b')]);_0x20fd67[_0xec3e('0x2d')]=_['intersection'](_0x20fd67[_0xec3e('0x2a')],_0x20fd67[_0xec3e('0x2b')]);_0xa097f0['attributes']=_[_0xec3e('0x2e')](_0x20fd67[_0xec3e('0x2a')],qs[_0xec3e('0x2f')](_0x2aa472[_0xec3e('0x2b')][_0xec3e('0x2f')]));_0xa097f0[_0xec3e('0x30')]=_0xa097f0[_0xec3e('0x30')][_0xec3e('0x31')]?_0xa097f0[_0xec3e('0x30')]:_0x20fd67[_0xec3e('0x2a')];if(!_0x2aa472['query'][_0xec3e('0x32')](_0xec3e('0x33'))){_0xa097f0['limit']=qs['limit'](_0x2aa472[_0xec3e('0x2b')]['limit']);_0xa097f0['offset']=qs['offset'](_0x2aa472[_0xec3e('0x2b')][_0xec3e('0x1c')]);}_0xa097f0['order']=qs['sort'](_0x2aa472[_0xec3e('0x2b')][_0xec3e('0x34')]);_0xa097f0[_0xec3e('0x35')]=qs[_0xec3e('0x2d')](_[_0xec3e('0x36')](_0x2aa472[_0xec3e('0x2b')],_0x20fd67['filters']),_0xf5aa6);if(_0x2aa472[_0xec3e('0x2b')][_0xec3e('0x37')]){_0xa097f0[_0xec3e('0x35')]=_['merge'](_0xa097f0['where'],{'$or':_[_0xec3e('0x27')](_0xf5aa6,function(_0x4870c0){if(_0x4870c0[_0xec3e('0x28')]!==_0xec3e('0x38')){var _0xd6679={};_0xd6679[_0x4870c0[_0xec3e('0x25')]]={'$like':'%'+_0x2aa472['query'][_0xec3e('0x37')]+'%'};return _0xd6679;}})});}_0xa097f0=_[_0xec3e('0x39')]({},_0xa097f0,_0x2aa472[_0xec3e('0x3a')]);var _0x41d187={'where':_0xa097f0[_0xec3e('0x35')]};return db[_0xec3e('0x3b')][_0xec3e('0x3c')](_0x41d187)[_0xec3e('0x22')](function(_0x7a613f){_0x43cda8[_0xec3e('0x3c')]=_0x7a613f;if(_0x2aa472[_0xec3e('0x2b')][_0xec3e('0x3d')]){_0xa097f0[_0xec3e('0x3e')]=[{'all':!![]}];}return db[_0xec3e('0x3b')]['findAll'](_0xa097f0);})[_0xec3e('0x22')](function(_0x3c2d2d){_0x43cda8[_0xec3e('0x3f')]=_0x3c2d2d;return _0x43cda8;})[_0xec3e('0x22')](respondWithFilteredResult(_0x24f421,_0xa097f0))[_0xec3e('0x40')](handleError(_0x24f421,null));};exports[_0xec3e('0x41')]=function(_0x7192f,_0x48f851){var _0x3f43ca={'raw':!![],'where':{'id':_0x7192f[_0xec3e('0x42')]['id']}},_0x2f572a={};_0x2f572a[_0xec3e('0x2a')]=_[_0xec3e('0x2c')](db[_0xec3e('0x3b')][_0xec3e('0x43')]);_0x2f572a[_0xec3e('0x2b')]=_[_0xec3e('0x2c')](_0x7192f[_0xec3e('0x2b')]);_0x2f572a[_0xec3e('0x2d')]=_[_0xec3e('0x2e')](_0x2f572a['model'],_0x2f572a[_0xec3e('0x2b')]);_0x3f43ca[_0xec3e('0x30')]=_[_0xec3e('0x2e')](_0x2f572a[_0xec3e('0x2a')],qs[_0xec3e('0x2f')](_0x7192f['query'][_0xec3e('0x2f')]));_0x3f43ca['attributes']=_0x3f43ca[_0xec3e('0x30')]['length']?_0x3f43ca[_0xec3e('0x30')]:_0x2f572a[_0xec3e('0x2a')];if(_0x7192f[_0xec3e('0x2b')][_0xec3e('0x3d')]){_0x3f43ca[_0xec3e('0x3e')]=[{'all':!![]}];}_0x3f43ca=_[_0xec3e('0x39')]({},_0x3f43ca,_0x7192f['options']);return db[_0xec3e('0x3b')]['find'](_0x3f43ca)[_0xec3e('0x22')](handleEntityNotFound(_0x48f851,null))[_0xec3e('0x22')](respondWithResult(_0x48f851,null))[_0xec3e('0x40')](handleError(_0x48f851,null));};exports[_0xec3e('0x44')]=function(_0x5b7018,_0x1ada4a){return db[_0xec3e('0x3b')][_0xec3e('0x44')](_0x5b7018[_0xec3e('0x45')],{})[_0xec3e('0x22')](respondWithResult(_0x1ada4a,0xc9))[_0xec3e('0x40')](handleError(_0x1ada4a,null));};exports[_0xec3e('0x21')]=function(_0x462805,_0x4d88e5){if(_0x462805[_0xec3e('0x45')]['id']){delete _0x462805[_0xec3e('0x45')]['id'];}return db[_0xec3e('0x3b')]['find']({'where':{'id':_0x462805[_0xec3e('0x42')]['id']}})[_0xec3e('0x22')](handleEntityNotFound(_0x4d88e5,null))[_0xec3e('0x22')](saveUpdates(_0x462805[_0xec3e('0x45')],null))[_0xec3e('0x22')](respondWithResult(_0x4d88e5,null))[_0xec3e('0x40')](handleError(_0x4d88e5,null));};exports[_0xec3e('0x46')]=function(_0x1230ab,_0xbe8316,_0x1bd51b){var _0x5eed1e=require(_0xec3e('0x47'));var _0x180798=![];var _0x49bf5c={};if(_0x1230ab['query']['type']&&_0x1230ab['query'][_0xec3e('0x28')]===_0xec3e('0x48')){_0x49bf5c[_0xec3e('0x48')]=_0x1230ab[_0xec3e('0x42')]['id'];}else{_0x49bf5c['id']=_0x1230ab[_0xec3e('0x42')]['id'];}return db[_0xec3e('0x3b')][_0xec3e('0x49')]({'where':_0x49bf5c,'attributes':['id',_0xec3e('0x4a'),_0xec3e('0x4b')],'raw':!![]})[_0xec3e('0x22')](handleEntityNotFound(_0xbe8316,null))[_0xec3e('0x22')](function(_0x287450){if(_0x287450){var _0x3ca90c=_0x287450[_0xec3e('0x4a')];var _0x1a9374=util[_0xec3e('0x4c')]('%s.cypher',_0x3ca90c);if(fs['existsSync'](_0x1a9374)){_0x180798=!![];return _0x5eed1e['decryptFile'](_0x1a9374,_0x3ca90c,config[_0xec3e('0x4d')]['recording'])[_0xec3e('0x22')](function(){return _0x287450;});}return _0x287450;}})['then'](function(_0x1e3891){if(_0x1e3891){var _0x339490=_0x1e3891[_0xec3e('0x4a')];if(!fs['existsSync'](_0x339490)){throw new db['Sequelize']['ValidationError'](_0xec3e('0x4e'));}if(_0x1e3891[_0xec3e('0x4b')]){return _0xbe8316[_0xec3e('0x46')](_0x339490,_0x1e3891['filename']+path[_0xec3e('0x4f')](_0x339490),function(){if(_0x180798){fs[_0xec3e('0x50')](_0x339490);}});}else{return _0xbe8316[_0xec3e('0x46')](_0x339490,function(_0x4245d7){if(_0x180798){fs[_0xec3e('0x50')](_0x339490);}});}}})[_0xec3e('0x40')](function(_0x1e4f9b){if(_0x1e4f9b[_0xec3e('0x51')]===_0xec3e('0x4e')){_0xbe8316[_0xec3e('0x19')](0x194)['send'](_0xec3e('0x52'));}else{return handleError(_0xbe8316,null);}});};exports[_0xec3e('0x53')]=function(_0x2e5f40,_0x36d65c){return db[_0xec3e('0x3b')]['find']({'where':{'id':_0x2e5f40[_0xec3e('0x42')]['id']}})['then'](function(_0x26b4f8){if(!_0x26b4f8)throw new ReferenceError(_0xec3e('0x54'));return _0x26b4f8;})[_0xec3e('0x22')](function(_0x118d31){var _0x5f3c89=_0x118d31[_0xec3e('0x4a')];logger['info'](_0xec3e('0x55'),_0x5f3c89);if(!_[_0xec3e('0x56')](_0x118d31[_0xec3e('0x4a')])&&fs[_0xec3e('0x57')](_0x5f3c89)){logger[_0xec3e('0x58')](_0xec3e('0x59')+_0x5f3c89+_0xec3e('0x5a'));fs[_0xec3e('0x5b')](_0x5f3c89);}_0x5f3c89=_0x5f3c89+'.cypher';if(!_['isNil'](_0x118d31[_0xec3e('0x4a')])&&fs[_0xec3e('0x57')](_0x5f3c89)){logger[_0xec3e('0x58')](_0xec3e('0x59')+_0x5f3c89+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xec3e('0x5b')](_0x5f3c89);}return _0x118d31;})[_0xec3e('0x22')](function(_0x14b9c4){if(!_0x14b9c4)throw new InternalError();return _0x14b9c4[_0xec3e('0x53')]();})['then'](function(){_0x36d65c[_0xec3e('0x19')](0xcc)[_0xec3e('0x1a')]();})[_0xec3e('0x40')](handleError(_0x36d65c,null));};