6d0fe778d9fc5c5b3ecf0e88081177ed7c9db366
[motion2.git] / server / api / jscriptySessionReport / jscriptySessionReport.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 _0xd8b0=['options','includeAll','include','rows','catch','show','params','intersection','merge','create','body','update','find','describe','rawAttributes','SessionId','map','JscriptyQuestionReport','findAll','html-pdf','eml-format','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','destroy','then','error','name','send','index','JscriptySessionReport','type','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','VIRTUAL'];(function(_0x382a62,_0x1baa5e){var _0x490a25=function(_0x1b3427){while(--_0x1b3427){_0x382a62['push'](_0x382a62['shift']());}};_0x490a25(++_0x1baa5e);}(_0xd8b0,0xad));var _0x0d8b=function(_0x122ef9,_0x451d2a){_0x122ef9=_0x122ef9-0x0;var _0x42fba0=_0xd8b0[_0x122ef9];return _0x42fba0;};'use strict';var pdf=require(_0x0d8b('0x0'));var emlformat=require(_0x0d8b('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0d8b('0x2'));var moment=require(_0x0d8b('0x3'));var BPromise=require(_0x0d8b('0x4'));var Mustache=require(_0x0d8b('0x5'));var util=require(_0x0d8b('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x0d8b('0x7'));var ejs=require(_0x0d8b('0x8'));var fs=require('fs');var _=require(_0x0d8b('0x9'));var squel=require('squel');var crypto=require(_0x0d8b('0xa'));var jsforce=require(_0x0d8b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x0d8b('0x7'));var querystring=require(_0x0d8b('0xc'));var Papa=require(_0x0d8b('0xd'));var Redis=require(_0x0d8b('0xe'));var authService=require(_0x0d8b('0xf'));var qs=require(_0x0d8b('0x10'));var as=require(_0x0d8b('0x11'));var hardwareService=require(_0x0d8b('0x12'));var logger=require('../../config/logger')(_0x0d8b('0x13'));var utils=require('../../config/utils');var config=require(_0x0d8b('0x14'));var licenseUtil=require(_0x0d8b('0x15'));var db=require(_0x0d8b('0x16'))['db'];function respondWithStatusCode(_0x92cdd8,_0x35a07b){_0x35a07b=_0x35a07b||0xcc;return function(_0x32bb1a){if(_0x32bb1a){return _0x92cdd8[_0x0d8b('0x17')](_0x35a07b);}return _0x92cdd8[_0x0d8b('0x18')](_0x35a07b)[_0x0d8b('0x19')]();};}function respondWithResult(_0x2ce75e,_0x5ad086){_0x5ad086=_0x5ad086||0xc8;return function(_0xe65334){if(_0xe65334){return _0x2ce75e[_0x0d8b('0x18')](_0x5ad086)[_0x0d8b('0x1a')](_0xe65334);}};}function respondWithFilteredResult(_0x4f6f21,_0x23eb7b){return function(_0xa86349){if(_0xa86349){var _0x17f7df=_0xa86349[_0x0d8b('0x1b')],_0xe2e167=_0x23eb7b[_0x0d8b('0x1c')],_0x2cb03c=_0x23eb7b[_0x0d8b('0x1c')]+_0x23eb7b[_0x0d8b('0x1d')],_0x5cd485;if(_0x2cb03c>=_0x17f7df){_0x2cb03c=_0x17f7df;_0x5cd485=0xc8;}else{_0x5cd485=0xce;}_0x4f6f21[_0x0d8b('0x18')](_0x5cd485);return _0x4f6f21[_0x0d8b('0x1e')](_0x0d8b('0x1f'),_0xe2e167+'-'+_0x2cb03c+'/'+_0x17f7df)[_0x0d8b('0x1a')](_0xa86349);}return null;};}function patchUpdates(_0x4a15bf){return function(_0x27512e){try{jsonpatch[_0x0d8b('0x20')](_0x27512e,_0x4a15bf,!![]);}catch(_0x196c0a){return BPromise[_0x0d8b('0x21')](_0x196c0a);}return _0x27512e[_0x0d8b('0x22')]();};}function saveUpdates(_0x5b709c,_0x393beb){return function(_0x352c17){if(_0x352c17){return _0x352c17['update'](_0x5b709c)['then'](function(_0x33fb87){return _0x33fb87;});}return null;};}function removeEntity(_0x54a9a7,_0x56c729){return function(_0x5527d8){if(_0x5527d8){return _0x5527d8[_0x0d8b('0x23')]()[_0x0d8b('0x24')](function(){_0x54a9a7[_0x0d8b('0x18')](0xcc)[_0x0d8b('0x19')]();});}};}function handleEntityNotFound(_0x221071,_0x2c64e2){return function(_0x30980c){if(!_0x30980c){_0x221071[_0x0d8b('0x17')](0x194);}return _0x30980c;};}function handleError(_0x27b695,_0x5e5bc3){_0x5e5bc3=_0x5e5bc3||0x1f4;return function(_0xe8bbee){logger[_0x0d8b('0x25')](_0xe8bbee['stack']);if(_0xe8bbee[_0x0d8b('0x26')]){delete _0xe8bbee['name'];}_0x27b695[_0x0d8b('0x18')](_0x5e5bc3)[_0x0d8b('0x27')](_0xe8bbee);};}exports[_0x0d8b('0x28')]=function(_0x4fe6f9,_0x59a905){var _0x28f639={},_0x3ef745={},_0x4c05ee={'count':0x0,'rows':[]};var _0xcbc4ac=_['map'](db[_0x0d8b('0x29')]['rawAttributes'],function(_0x97050a){return{'name':_0x97050a['fieldName'],'type':_0x97050a[_0x0d8b('0x2a')]['key']};});_0x3ef745[_0x0d8b('0x2b')]=_['map'](_0xcbc4ac,_0x0d8b('0x26'));_0x3ef745[_0x0d8b('0x2c')]=_[_0x0d8b('0x2d')](_0x4fe6f9['query']);_0x3ef745['filters']=_['intersection'](_0x3ef745[_0x0d8b('0x2b')],_0x3ef745['query']);_0x28f639[_0x0d8b('0x2e')]=_['intersection'](_0x3ef745['model'],qs[_0x0d8b('0x2f')](_0x4fe6f9[_0x0d8b('0x2c')][_0x0d8b('0x2f')]));_0x28f639[_0x0d8b('0x2e')]=_0x28f639[_0x0d8b('0x2e')][_0x0d8b('0x30')]?_0x28f639[_0x0d8b('0x2e')]:_0x3ef745[_0x0d8b('0x2b')];if(!_0x4fe6f9['query'][_0x0d8b('0x31')](_0x0d8b('0x32'))){_0x28f639['limit']=qs[_0x0d8b('0x1d')](_0x4fe6f9[_0x0d8b('0x2c')][_0x0d8b('0x1d')]);_0x28f639['offset']=qs[_0x0d8b('0x1c')](_0x4fe6f9[_0x0d8b('0x2c')][_0x0d8b('0x1c')]);}_0x28f639[_0x0d8b('0x33')]=qs[_0x0d8b('0x34')](_0x4fe6f9['query'][_0x0d8b('0x34')]);_0x28f639[_0x0d8b('0x35')]=qs['filters'](_[_0x0d8b('0x36')](_0x4fe6f9[_0x0d8b('0x2c')],_0x3ef745[_0x0d8b('0x37')]),_0xcbc4ac);if(_0x4fe6f9[_0x0d8b('0x2c')][_0x0d8b('0x38')]){_0x28f639['where']=_['merge'](_0x28f639[_0x0d8b('0x35')],{'$or':_['map'](_0xcbc4ac,function(_0x531c55){if(_0x531c55[_0x0d8b('0x2a')]!==_0x0d8b('0x39')){var _0x15ec8a={};_0x15ec8a[_0x531c55[_0x0d8b('0x26')]]={'$like':'%'+_0x4fe6f9[_0x0d8b('0x2c')][_0x0d8b('0x38')]+'%'};return _0x15ec8a;}})});}_0x28f639=_['merge']({},_0x28f639,_0x4fe6f9[_0x0d8b('0x3a')]);var _0x6a02ad={'where':_0x28f639[_0x0d8b('0x35')]};return db[_0x0d8b('0x29')][_0x0d8b('0x1b')](_0x6a02ad)[_0x0d8b('0x24')](function(_0xf1680e){_0x4c05ee['count']=_0xf1680e;if(_0x4fe6f9[_0x0d8b('0x2c')][_0x0d8b('0x3b')]){_0x28f639[_0x0d8b('0x3c')]=[{'all':!![]}];}return db[_0x0d8b('0x29')]['findAll'](_0x28f639);})[_0x0d8b('0x24')](function(_0x4b4bde){_0x4c05ee[_0x0d8b('0x3d')]=_0x4b4bde;return _0x4c05ee;})[_0x0d8b('0x24')](respondWithFilteredResult(_0x59a905,_0x28f639))[_0x0d8b('0x3e')](handleError(_0x59a905,null));};exports[_0x0d8b('0x3f')]=function(_0x35fa7e,_0x3e632e){var _0x1ff17d={'raw':!![],'where':{'id':_0x35fa7e[_0x0d8b('0x40')]['id']}},_0x373f69={};_0x373f69[_0x0d8b('0x2b')]=_['keys'](db['JscriptySessionReport']['rawAttributes']);_0x373f69['query']=_['keys'](_0x35fa7e[_0x0d8b('0x2c')]);_0x373f69[_0x0d8b('0x37')]=_[_0x0d8b('0x41')](_0x373f69['model'],_0x373f69['query']);_0x1ff17d[_0x0d8b('0x2e')]=_[_0x0d8b('0x41')](_0x373f69[_0x0d8b('0x2b')],qs['fields'](_0x35fa7e[_0x0d8b('0x2c')][_0x0d8b('0x2f')]));_0x1ff17d['attributes']=_0x1ff17d['attributes'][_0x0d8b('0x30')]?_0x1ff17d['attributes']:_0x373f69[_0x0d8b('0x2b')];if(_0x35fa7e['query']['includeAll']){_0x1ff17d[_0x0d8b('0x3c')]=[{'all':!![]}];}_0x1ff17d=_[_0x0d8b('0x42')]({},_0x1ff17d,_0x35fa7e['options']);return db['JscriptySessionReport']['find'](_0x1ff17d)['then'](handleEntityNotFound(_0x3e632e,null))[_0x0d8b('0x24')](respondWithResult(_0x3e632e,null))[_0x0d8b('0x3e')](handleError(_0x3e632e,null));};exports[_0x0d8b('0x43')]=function(_0x490eda,_0xb0910e){return db[_0x0d8b('0x29')][_0x0d8b('0x43')](_0x490eda[_0x0d8b('0x44')],{})[_0x0d8b('0x24')](respondWithResult(_0xb0910e,0xc9))[_0x0d8b('0x3e')](handleError(_0xb0910e,null));};exports[_0x0d8b('0x45')]=function(_0x1d5067,_0x384a5e){if(_0x1d5067[_0x0d8b('0x44')]['id']){delete _0x1d5067[_0x0d8b('0x44')]['id'];}return db[_0x0d8b('0x29')][_0x0d8b('0x46')]({'where':{'id':_0x1d5067[_0x0d8b('0x40')]['id']}})[_0x0d8b('0x24')](handleEntityNotFound(_0x384a5e,null))[_0x0d8b('0x24')](saveUpdates(_0x1d5067[_0x0d8b('0x44')],null))[_0x0d8b('0x24')](respondWithResult(_0x384a5e,null))[_0x0d8b('0x3e')](handleError(_0x384a5e,null));};exports['destroy']=function(_0x371fa0,_0x4d8850){return db['JscriptySessionReport'][_0x0d8b('0x46')]({'where':{'id':_0x371fa0[_0x0d8b('0x40')]['id']}})[_0x0d8b('0x24')](handleEntityNotFound(_0x4d8850,null))[_0x0d8b('0x24')](removeEntity(_0x4d8850,null))['catch'](handleError(_0x4d8850,null));};exports[_0x0d8b('0x47')]=function(_0x1106d6,_0x386074){return db[_0x0d8b('0x29')][_0x0d8b('0x47')]()['then'](respondWithResult(_0x386074,null))['catch'](handleError(_0x386074,null));};exports['getQuestions']=function(_0x573f4f,_0x368ede,_0xf22c3c){var _0x5e3bb4={'raw':!![],'where':{}};var _0x4950a8={};var _0x44c5c1={'count':0x0,'rows':[]};return db[_0x0d8b('0x29')]['findOne']({'where':{'id':_0x573f4f['params']['id']}})[_0x0d8b('0x24')](handleEntityNotFound(_0x368ede,null))[_0x0d8b('0x24')](function(_0x3cd00a){if(_0x3cd00a){_0x4950a8[_0x0d8b('0x2b')]=_[_0x0d8b('0x2d')](db['JscriptyQuestionReport'][_0x0d8b('0x48')]);_0x4950a8[_0x0d8b('0x2c')]=_['keys'](_0x573f4f['query']);_0x4950a8[_0x0d8b('0x37')]=_[_0x0d8b('0x41')](_0x4950a8['model'],_0x4950a8['query']);_0x5e3bb4[_0x0d8b('0x2e')]=_[_0x0d8b('0x41')](_0x4950a8[_0x0d8b('0x2b')],qs[_0x0d8b('0x2f')](_0x573f4f['query'][_0x0d8b('0x2f')]));_0x5e3bb4['attributes']=_0x5e3bb4['attributes'][_0x0d8b('0x30')]?_0x5e3bb4[_0x0d8b('0x2e')]:_0x4950a8['model'];if(!_0x573f4f['query'][_0x0d8b('0x31')](_0x0d8b('0x32'))){_0x5e3bb4[_0x0d8b('0x1d')]=qs[_0x0d8b('0x1d')](_0x573f4f[_0x0d8b('0x2c')][_0x0d8b('0x1d')]);_0x5e3bb4[_0x0d8b('0x1c')]=qs[_0x0d8b('0x1c')](_0x573f4f['query'][_0x0d8b('0x1c')]);}_0x5e3bb4[_0x0d8b('0x33')]=qs[_0x0d8b('0x34')](_0x573f4f[_0x0d8b('0x2c')][_0x0d8b('0x34')]);_0x5e3bb4[_0x0d8b('0x35')]=qs[_0x0d8b('0x37')](_[_0x0d8b('0x36')](_0x573f4f[_0x0d8b('0x2c')],_0x4950a8['filters']));_0x5e3bb4[_0x0d8b('0x35')][_0x0d8b('0x49')]=_0x3cd00a['id'];if(_0x573f4f[_0x0d8b('0x2c')][_0x0d8b('0x38')]){_0x5e3bb4[_0x0d8b('0x35')]=_['merge'](_0x5e3bb4[_0x0d8b('0x35')],{'$or':_[_0x0d8b('0x4a')](_0x5e3bb4[_0x0d8b('0x2e')],function(_0x17a87f){var _0x1d6cd4={};_0x1d6cd4[_0x17a87f]={'$like':'%'+_0x573f4f['query']['filter']+'%'};return _0x1d6cd4;})});}_0x5e3bb4=_[_0x0d8b('0x42')]({},_0x5e3bb4,_0x573f4f[_0x0d8b('0x3a')]);return db[_0x0d8b('0x4b')][_0x0d8b('0x1b')]({'where':_0x5e3bb4['where']})[_0x0d8b('0x24')](function(_0x12aef7){_0x44c5c1[_0x0d8b('0x1b')]=_0x12aef7;if(_0x573f4f['query'][_0x0d8b('0x3b')]){_0x5e3bb4['include']=[{'all':!![]}];}return db[_0x0d8b('0x4b')][_0x0d8b('0x4c')](_0x5e3bb4);})[_0x0d8b('0x24')](function(_0x26ccf0){_0x44c5c1[_0x0d8b('0x3d')]=_0x26ccf0;return _0x44c5c1;});}})[_0x0d8b('0x24')](respondWithFilteredResult(_0x368ede,_0x5e3bb4))['catch'](handleError(_0x368ede,null));};