Built motion from commit da24aabd.|2.6.20
[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 _0x38e9=['destroy','error','name','send','index','map','JscriptySessionReport','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','findAll','catch','show','find','create','update','body','params','getQuestions','findOne','JscriptyQuestionReport','hasOwnProperty','order','SessionId','include','rows','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','count','limit','Content-Range','reject','save','then'];(function(_0x4fd687,_0x25e0d7){var _0x56e1e1=function(_0x29d559){while(--_0x29d559){_0x4fd687['push'](_0x4fd687['shift']());}};_0x56e1e1(++_0x25e0d7);}(_0x38e9,0x7b));var _0x938e=function(_0x4d6f6f,_0xef3141){_0x4d6f6f=_0x4d6f6f-0x0;var _0x4b7e32=_0x38e9[_0x4d6f6f];return _0x4b7e32;};'use strict';var emlformat=require(_0x938e('0x0'));var rimraf=require(_0x938e('0x1'));var zipdir=require(_0x938e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x938e('0x3'));var moment=require(_0x938e('0x4'));var BPromise=require(_0x938e('0x5'));var Mustache=require(_0x938e('0x6'));var util=require(_0x938e('0x7'));var path=require(_0x938e('0x8'));var sox=require(_0x938e('0x9'));var csv=require('to-csv');var ejs=require(_0x938e('0xa'));var fs=require('fs');var fs_extra=require(_0x938e('0xb'));var _=require('lodash');var squel=require(_0x938e('0xc'));var crypto=require(_0x938e('0xd'));var jsforce=require(_0x938e('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x938e('0xf'));var querystring=require('querystring');var Papa=require(_0x938e('0x10'));var Redis=require(_0x938e('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x938e('0x12'));var as=require(_0x938e('0x13'));var hardwareService=require(_0x938e('0x14'));var logger=require(_0x938e('0x15'))(_0x938e('0x16'));var utils=require(_0x938e('0x17'));var config=require(_0x938e('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x938e('0x19'))['db'];function respondWithStatusCode(_0x96932f,_0x34d464){_0x34d464=_0x34d464||0xcc;return function(_0x414de6){if(_0x414de6){return _0x96932f['sendStatus'](_0x34d464);}return _0x96932f[_0x938e('0x1a')](_0x34d464)[_0x938e('0x1b')]();};}function respondWithResult(_0xfaf942,_0xf436c8){_0xf436c8=_0xf436c8||0xc8;return function(_0x2d3f1b){if(_0x2d3f1b){return _0xfaf942[_0x938e('0x1a')](_0xf436c8)[_0x938e('0x1c')](_0x2d3f1b);}};}function respondWithFilteredResult(_0x2dfd12,_0x15643f){return function(_0x283406){if(_0x283406){var _0x5e79b6=typeof _0x15643f[_0x938e('0x1d')]===_0x938e('0x1e')&&typeof _0x15643f['limit']==='undefined';var _0x3098db=_0x283406[_0x938e('0x1f')];var _0x383930=_0x5e79b6?0x0:_0x15643f['offset'];var _0x104c6b=_0x5e79b6?_0x283406[_0x938e('0x1f')]:_0x15643f[_0x938e('0x1d')]+_0x15643f[_0x938e('0x20')];var _0x59d395;if(_0x104c6b>=_0x3098db){_0x104c6b=_0x3098db;_0x59d395=0xc8;}else{_0x59d395=0xce;}_0x2dfd12[_0x938e('0x1a')](_0x59d395);return _0x2dfd12['set'](_0x938e('0x21'),_0x383930+'-'+_0x104c6b+'/'+_0x3098db)[_0x938e('0x1c')](_0x283406);}return null;};}function patchUpdates(_0x2a5448){return function(_0x3680){try{jsonpatch['apply'](_0x3680,_0x2a5448,!![]);}catch(_0x34db14){return BPromise[_0x938e('0x22')](_0x34db14);}return _0x3680[_0x938e('0x23')]();};}function saveUpdates(_0x5c95bd,_0x1f863d){return function(_0xc1e9da){if(_0xc1e9da){return _0xc1e9da['update'](_0x5c95bd)[_0x938e('0x24')](function(_0x17a4a7){return _0x17a4a7;});}return null;};}function removeEntity(_0x50c86d,_0x4d6cbb){return function(_0x2cfb02){if(_0x2cfb02){return _0x2cfb02[_0x938e('0x25')]()[_0x938e('0x24')](function(){_0x50c86d[_0x938e('0x1a')](0xcc)[_0x938e('0x1b')]();});}};}function handleEntityNotFound(_0x34d88a,_0x942300){return function(_0x2e81ec){if(!_0x2e81ec){_0x34d88a['sendStatus'](0x194);}return _0x2e81ec;};}function handleError(_0xbef130,_0x54d81a){_0x54d81a=_0x54d81a||0x1f4;return function(_0x532396){logger[_0x938e('0x26')](_0x532396['stack']);if(_0x532396[_0x938e('0x27')]){delete _0x532396[_0x938e('0x27')];}_0xbef130[_0x938e('0x1a')](_0x54d81a)[_0x938e('0x28')](_0x532396);};}exports[_0x938e('0x29')]=function(_0x27893b,_0x3142b5){var _0x52516a={},_0x3e771d={},_0x41e238={'count':0x0,'rows':[]};var _0x54feaf=_[_0x938e('0x2a')](db[_0x938e('0x2b')][_0x938e('0x2c')],function(_0x31ec02){return{'name':_0x31ec02['fieldName'],'type':_0x31ec02[_0x938e('0x2d')][_0x938e('0x2e')]};});_0x3e771d[_0x938e('0x2f')]=_[_0x938e('0x2a')](_0x54feaf,_0x938e('0x27'));_0x3e771d[_0x938e('0x30')]=_[_0x938e('0x31')](_0x27893b[_0x938e('0x30')]);_0x3e771d[_0x938e('0x32')]=_[_0x938e('0x33')](_0x3e771d[_0x938e('0x2f')],_0x3e771d[_0x938e('0x30')]);_0x52516a[_0x938e('0x34')]=_[_0x938e('0x33')](_0x3e771d[_0x938e('0x2f')],qs[_0x938e('0x35')](_0x27893b['query'][_0x938e('0x35')]));_0x52516a[_0x938e('0x34')]=_0x52516a['attributes'][_0x938e('0x36')]?_0x52516a[_0x938e('0x34')]:_0x3e771d[_0x938e('0x2f')];if(!_0x27893b[_0x938e('0x30')]['hasOwnProperty'](_0x938e('0x37'))){_0x52516a[_0x938e('0x20')]=qs[_0x938e('0x20')](_0x27893b['query'][_0x938e('0x20')]);_0x52516a['offset']=qs['offset'](_0x27893b[_0x938e('0x30')][_0x938e('0x1d')]);}_0x52516a['order']=qs[_0x938e('0x38')](_0x27893b['query']['sort']);_0x52516a['where']=qs['filters'](_[_0x938e('0x39')](_0x27893b['query'],_0x3e771d[_0x938e('0x32')]),_0x54feaf);if(_0x27893b['query']['filter']){_0x52516a[_0x938e('0x3a')]=_[_0x938e('0x3b')](_0x52516a[_0x938e('0x3a')],{'$or':_[_0x938e('0x2a')](_0x54feaf,function(_0x5d0a6a){if(_0x5d0a6a['type']!==_0x938e('0x3c')){var _0xbffefe={};_0xbffefe[_0x5d0a6a['name']]={'$like':'%'+_0x27893b[_0x938e('0x30')][_0x938e('0x3d')]+'%'};return _0xbffefe;}})});}_0x52516a=_[_0x938e('0x3b')]({},_0x52516a,_0x27893b[_0x938e('0x3e')]);var _0x4be8a0={'where':_0x52516a['where']};return db[_0x938e('0x2b')][_0x938e('0x1f')](_0x4be8a0)['then'](function(_0x39ba3d){_0x41e238[_0x938e('0x1f')]=_0x39ba3d;if(_0x27893b[_0x938e('0x30')][_0x938e('0x3f')]){_0x52516a['include']=[{'all':!![]}];}return db[_0x938e('0x2b')][_0x938e('0x40')](_0x52516a);})[_0x938e('0x24')](function(_0x5c943b){_0x41e238['rows']=_0x5c943b;return _0x41e238;})[_0x938e('0x24')](respondWithFilteredResult(_0x3142b5,_0x52516a))[_0x938e('0x41')](handleError(_0x3142b5,null));};exports[_0x938e('0x42')]=function(_0x255aec,_0x11ec43){var _0x52b801={'raw':!![],'where':{'id':_0x255aec['params']['id']}},_0x120084={};_0x120084[_0x938e('0x2f')]=_['keys'](db[_0x938e('0x2b')][_0x938e('0x2c')]);_0x120084[_0x938e('0x30')]=_['keys'](_0x255aec['query']);_0x120084[_0x938e('0x32')]=_[_0x938e('0x33')](_0x120084[_0x938e('0x2f')],_0x120084['query']);_0x52b801[_0x938e('0x34')]=_['intersection'](_0x120084[_0x938e('0x2f')],qs[_0x938e('0x35')](_0x255aec[_0x938e('0x30')]['fields']));_0x52b801[_0x938e('0x34')]=_0x52b801['attributes'][_0x938e('0x36')]?_0x52b801[_0x938e('0x34')]:_0x120084[_0x938e('0x2f')];if(_0x255aec[_0x938e('0x30')][_0x938e('0x3f')]){_0x52b801['include']=[{'all':!![]}];}_0x52b801=_[_0x938e('0x3b')]({},_0x52b801,_0x255aec[_0x938e('0x3e')]);return db[_0x938e('0x2b')][_0x938e('0x43')](_0x52b801)[_0x938e('0x24')](handleEntityNotFound(_0x11ec43,null))[_0x938e('0x24')](respondWithResult(_0x11ec43,null))[_0x938e('0x41')](handleError(_0x11ec43,null));};exports[_0x938e('0x44')]=function(_0x1a2bf8,_0x38cc58){return db[_0x938e('0x2b')][_0x938e('0x44')](_0x1a2bf8['body'],{})[_0x938e('0x24')](respondWithResult(_0x38cc58,0xc9))[_0x938e('0x41')](handleError(_0x38cc58,null));};exports[_0x938e('0x45')]=function(_0x42e076,_0x6a41f8){if(_0x42e076[_0x938e('0x46')]['id']){delete _0x42e076[_0x938e('0x46')]['id'];}return db[_0x938e('0x2b')][_0x938e('0x43')]({'where':{'id':_0x42e076[_0x938e('0x47')]['id']}})[_0x938e('0x24')](handleEntityNotFound(_0x6a41f8,null))[_0x938e('0x24')](saveUpdates(_0x42e076[_0x938e('0x46')],null))[_0x938e('0x24')](respondWithResult(_0x6a41f8,null))['catch'](handleError(_0x6a41f8,null));};exports[_0x938e('0x25')]=function(_0x1bfb2a,_0x24d27b){return db[_0x938e('0x2b')][_0x938e('0x43')]({'where':{'id':_0x1bfb2a['params']['id']}})[_0x938e('0x24')](handleEntityNotFound(_0x24d27b,null))[_0x938e('0x24')](removeEntity(_0x24d27b,null))[_0x938e('0x41')](handleError(_0x24d27b,null));};exports['describe']=function(_0x37d977,_0x503eb7){return db[_0x938e('0x2b')]['describe']()['then'](respondWithResult(_0x503eb7,null))[_0x938e('0x41')](handleError(_0x503eb7,null));};exports[_0x938e('0x48')]=function(_0x818d28,_0x246633,_0x42233a){var _0x6ddfe0={'raw':!![],'where':{}};var _0x28fee8={};var _0x337078={'count':0x0,'rows':[]};return db[_0x938e('0x2b')][_0x938e('0x49')]({'where':{'id':_0x818d28[_0x938e('0x47')]['id']}})[_0x938e('0x24')](handleEntityNotFound(_0x246633,null))[_0x938e('0x24')](function(_0x20506d){if(_0x20506d){_0x28fee8[_0x938e('0x2f')]=_['keys'](db[_0x938e('0x4a')][_0x938e('0x2c')]);_0x28fee8['query']=_[_0x938e('0x31')](_0x818d28[_0x938e('0x30')]);_0x28fee8[_0x938e('0x32')]=_[_0x938e('0x33')](_0x28fee8[_0x938e('0x2f')],_0x28fee8[_0x938e('0x30')]);_0x6ddfe0[_0x938e('0x34')]=_[_0x938e('0x33')](_0x28fee8[_0x938e('0x2f')],qs[_0x938e('0x35')](_0x818d28[_0x938e('0x30')][_0x938e('0x35')]));_0x6ddfe0[_0x938e('0x34')]=_0x6ddfe0['attributes'][_0x938e('0x36')]?_0x6ddfe0['attributes']:_0x28fee8[_0x938e('0x2f')];if(!_0x818d28[_0x938e('0x30')][_0x938e('0x4b')]('nolimit')){_0x6ddfe0[_0x938e('0x20')]=qs[_0x938e('0x20')](_0x818d28['query'][_0x938e('0x20')]);_0x6ddfe0[_0x938e('0x1d')]=qs[_0x938e('0x1d')](_0x818d28[_0x938e('0x30')][_0x938e('0x1d')]);}_0x6ddfe0[_0x938e('0x4c')]=qs[_0x938e('0x38')](_0x818d28['query'][_0x938e('0x38')]);_0x6ddfe0[_0x938e('0x3a')]=qs['filters'](_[_0x938e('0x39')](_0x818d28['query'],_0x28fee8['filters']));_0x6ddfe0['where'][_0x938e('0x4d')]=_0x20506d['id'];if(_0x818d28[_0x938e('0x30')][_0x938e('0x3d')]){_0x6ddfe0[_0x938e('0x3a')]=_[_0x938e('0x3b')](_0x6ddfe0[_0x938e('0x3a')],{'$or':_['map'](_0x6ddfe0[_0x938e('0x34')],function(_0x44dfff){var _0x5f235c={};_0x5f235c[_0x44dfff]={'$like':'%'+_0x818d28[_0x938e('0x30')][_0x938e('0x3d')]+'%'};return _0x5f235c;})});}_0x6ddfe0=_[_0x938e('0x3b')]({},_0x6ddfe0,_0x818d28[_0x938e('0x3e')]);return db[_0x938e('0x4a')]['count']({'where':_0x6ddfe0['where']})[_0x938e('0x24')](function(_0x28ac6b){_0x337078[_0x938e('0x1f')]=_0x28ac6b;if(_0x818d28[_0x938e('0x30')][_0x938e('0x3f')]){_0x6ddfe0[_0x938e('0x4e')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0x938e('0x40')](_0x6ddfe0);})[_0x938e('0x24')](function(_0x2e06b4){_0x337078[_0x938e('0x4f')]=_0x2e06b4;return _0x337078;});}})[_0x938e('0x24')](respondWithFilteredResult(_0x246633,_0x6ddfe0))[_0x938e('0x41')](handleError(_0x246633,null));};