Built motion from commit (unavailable).|2.5.25
[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 _0x3836=['request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','sendStatus','error','stack','name','index','map','JscriptySessionReport','rawAttributes','fieldName','type','key','query','intersection','attributes','model','fields','hasOwnProperty','sort','filters','pick','filter','where','merge','options','include','findAll','rows','catch','params','keys','find','create','body','destroy','describe','findOne','JscriptyQuestionReport','length','nolimit','order','SessionId','includeAll','html-pdf','rimraf','zip-dir','fast-json-patch'];(function(_0x3be2e2,_0x5c166d){var _0x53b9c5=function(_0x248aa7){while(--_0x248aa7){_0x3be2e2['push'](_0x3be2e2['shift']());}};_0x53b9c5(++_0x5c166d);}(_0x3836,0x140));var _0x6383=function(_0x4c5a7a,_0x44bc03){_0x4c5a7a=_0x4c5a7a-0x0;var _0x455752=_0x3836[_0x4c5a7a];return _0x455752;};'use strict';var pdf=require(_0x6383('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x6383('0x1'));var zipdir=require(_0x6383('0x2'));var jsonpatch=require(_0x6383('0x3'));var rp=require(_0x6383('0x4'));var moment=require(_0x6383('0x5'));var BPromise=require(_0x6383('0x6'));var Mustache=require('mustache');var util=require(_0x6383('0x7'));var path=require(_0x6383('0x8'));var sox=require(_0x6383('0x9'));var csv=require(_0x6383('0xa'));var ejs=require(_0x6383('0xb'));var fs=require('fs');var _=require(_0x6383('0xc'));var squel=require(_0x6383('0xd'));var crypto=require(_0x6383('0xe'));var jsforce=require(_0x6383('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6383('0x10'));var Papa=require(_0x6383('0x11'));var Redis=require(_0x6383('0x12'));var authService=require(_0x6383('0x13'));var qs=require(_0x6383('0x14'));var as=require(_0x6383('0x15'));var hardwareService=require(_0x6383('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x6383('0x17'));var config=require(_0x6383('0x18'));var licenseUtil=require(_0x6383('0x19'));var db=require(_0x6383('0x1a'))['db'];function respondWithStatusCode(_0x3f6f55,_0x142090){_0x142090=_0x142090||0xcc;return function(_0x18ca5b){if(_0x18ca5b){return _0x3f6f55['sendStatus'](_0x142090);}return _0x3f6f55['status'](_0x142090)[_0x6383('0x1b')]();};}function respondWithResult(_0x26fcf7,_0x2c8122){_0x2c8122=_0x2c8122||0xc8;return function(_0xe08113){if(_0xe08113){return _0x26fcf7[_0x6383('0x1c')](_0x2c8122)[_0x6383('0x1d')](_0xe08113);}};}function respondWithFilteredResult(_0x3683ce,_0x214114){return function(_0x231b67){if(_0x231b67){var _0x20ddd7=_0x231b67[_0x6383('0x1e')],_0x56b06b=_0x214114[_0x6383('0x1f')],_0x126eb4=_0x214114[_0x6383('0x1f')]+_0x214114[_0x6383('0x20')],_0x5a0634;if(_0x126eb4>=_0x20ddd7){_0x126eb4=_0x20ddd7;_0x5a0634=0xc8;}else{_0x5a0634=0xce;}_0x3683ce[_0x6383('0x1c')](_0x5a0634);return _0x3683ce[_0x6383('0x21')](_0x6383('0x22'),_0x56b06b+'-'+_0x126eb4+'/'+_0x20ddd7)[_0x6383('0x1d')](_0x231b67);}return null;};}function patchUpdates(_0x2959ed){return function(_0x470b38){try{jsonpatch[_0x6383('0x23')](_0x470b38,_0x2959ed,!![]);}catch(_0x195cbb){return BPromise[_0x6383('0x24')](_0x195cbb);}return _0x470b38['save']();};}function saveUpdates(_0xaa9df,_0x375c42){return function(_0x23f811){if(_0x23f811){return _0x23f811[_0x6383('0x25')](_0xaa9df)['then'](function(_0x245830){return _0x245830;});}return null;};}function removeEntity(_0x508233,_0x4487c3){return function(_0x5474e4){if(_0x5474e4){return _0x5474e4['destroy']()[_0x6383('0x26')](function(){_0x508233[_0x6383('0x1c')](0xcc)[_0x6383('0x1b')]();});}};}function handleEntityNotFound(_0x1b2260,_0x15d79e){return function(_0x45c339){if(!_0x45c339){_0x1b2260[_0x6383('0x27')](0x194);}return _0x45c339;};}function handleError(_0x4f306c,_0x315bb4){_0x315bb4=_0x315bb4||0x1f4;return function(_0x14b57c){logger[_0x6383('0x28')](_0x14b57c[_0x6383('0x29')]);if(_0x14b57c[_0x6383('0x2a')]){delete _0x14b57c[_0x6383('0x2a')];}_0x4f306c['status'](_0x315bb4)['send'](_0x14b57c);};}exports[_0x6383('0x2b')]=function(_0x414e9d,_0x29b30f){var _0x5f8d5c={},_0x58e358={},_0x3aff3f={'count':0x0,'rows':[]};var _0x3e700e=_[_0x6383('0x2c')](db[_0x6383('0x2d')][_0x6383('0x2e')],function(_0x4869ee){return{'name':_0x4869ee[_0x6383('0x2f')],'type':_0x4869ee[_0x6383('0x30')][_0x6383('0x31')]};});_0x58e358['model']=_[_0x6383('0x2c')](_0x3e700e,_0x6383('0x2a'));_0x58e358[_0x6383('0x32')]=_['keys'](_0x414e9d[_0x6383('0x32')]);_0x58e358['filters']=_[_0x6383('0x33')](_0x58e358['model'],_0x58e358[_0x6383('0x32')]);_0x5f8d5c[_0x6383('0x34')]=_['intersection'](_0x58e358[_0x6383('0x35')],qs[_0x6383('0x36')](_0x414e9d[_0x6383('0x32')][_0x6383('0x36')]));_0x5f8d5c[_0x6383('0x34')]=_0x5f8d5c['attributes']['length']?_0x5f8d5c[_0x6383('0x34')]:_0x58e358[_0x6383('0x35')];if(!_0x414e9d[_0x6383('0x32')][_0x6383('0x37')]('nolimit')){_0x5f8d5c[_0x6383('0x20')]=qs[_0x6383('0x20')](_0x414e9d[_0x6383('0x32')][_0x6383('0x20')]);_0x5f8d5c[_0x6383('0x1f')]=qs[_0x6383('0x1f')](_0x414e9d[_0x6383('0x32')][_0x6383('0x1f')]);}_0x5f8d5c['order']=qs[_0x6383('0x38')](_0x414e9d[_0x6383('0x32')][_0x6383('0x38')]);_0x5f8d5c['where']=qs[_0x6383('0x39')](_[_0x6383('0x3a')](_0x414e9d[_0x6383('0x32')],_0x58e358['filters']),_0x3e700e);if(_0x414e9d['query'][_0x6383('0x3b')]){_0x5f8d5c[_0x6383('0x3c')]=_['merge'](_0x5f8d5c[_0x6383('0x3c')],{'$or':_['map'](_0x3e700e,function(_0x40e6be){if(_0x40e6be['type']!=='VIRTUAL'){var _0x2d625b={};_0x2d625b[_0x40e6be[_0x6383('0x2a')]]={'$like':'%'+_0x414e9d[_0x6383('0x32')]['filter']+'%'};return _0x2d625b;}})});}_0x5f8d5c=_[_0x6383('0x3d')]({},_0x5f8d5c,_0x414e9d[_0x6383('0x3e')]);var _0x52bcbf={'where':_0x5f8d5c[_0x6383('0x3c')]};return db[_0x6383('0x2d')][_0x6383('0x1e')](_0x52bcbf)['then'](function(_0x199c48){_0x3aff3f[_0x6383('0x1e')]=_0x199c48;if(_0x414e9d[_0x6383('0x32')]['includeAll']){_0x5f8d5c[_0x6383('0x3f')]=[{'all':!![]}];}return db[_0x6383('0x2d')][_0x6383('0x40')](_0x5f8d5c);})[_0x6383('0x26')](function(_0xac6be7){_0x3aff3f[_0x6383('0x41')]=_0xac6be7;return _0x3aff3f;})[_0x6383('0x26')](respondWithFilteredResult(_0x29b30f,_0x5f8d5c))[_0x6383('0x42')](handleError(_0x29b30f,null));};exports['show']=function(_0x372493,_0x4306e4){var _0x56e2df={'raw':!![],'where':{'id':_0x372493[_0x6383('0x43')]['id']}},_0x18e086={};_0x18e086['model']=_[_0x6383('0x44')](db[_0x6383('0x2d')][_0x6383('0x2e')]);_0x18e086['query']=_[_0x6383('0x44')](_0x372493[_0x6383('0x32')]);_0x18e086[_0x6383('0x39')]=_[_0x6383('0x33')](_0x18e086[_0x6383('0x35')],_0x18e086['query']);_0x56e2df['attributes']=_[_0x6383('0x33')](_0x18e086[_0x6383('0x35')],qs['fields'](_0x372493[_0x6383('0x32')]['fields']));_0x56e2df[_0x6383('0x34')]=_0x56e2df[_0x6383('0x34')]['length']?_0x56e2df[_0x6383('0x34')]:_0x18e086[_0x6383('0x35')];if(_0x372493[_0x6383('0x32')]['includeAll']){_0x56e2df[_0x6383('0x3f')]=[{'all':!![]}];}_0x56e2df=_[_0x6383('0x3d')]({},_0x56e2df,_0x372493[_0x6383('0x3e')]);return db['JscriptySessionReport'][_0x6383('0x45')](_0x56e2df)[_0x6383('0x26')](handleEntityNotFound(_0x4306e4,null))['then'](respondWithResult(_0x4306e4,null))[_0x6383('0x42')](handleError(_0x4306e4,null));};exports['create']=function(_0x16f3ef,_0x8151d){return db[_0x6383('0x2d')][_0x6383('0x46')](_0x16f3ef[_0x6383('0x47')],{})['then'](respondWithResult(_0x8151d,0xc9))['catch'](handleError(_0x8151d,null));};exports[_0x6383('0x25')]=function(_0x3d4047,_0x189fe8){if(_0x3d4047[_0x6383('0x47')]['id']){delete _0x3d4047[_0x6383('0x47')]['id'];}return db[_0x6383('0x2d')][_0x6383('0x45')]({'where':{'id':_0x3d4047[_0x6383('0x43')]['id']}})['then'](handleEntityNotFound(_0x189fe8,null))[_0x6383('0x26')](saveUpdates(_0x3d4047['body'],null))[_0x6383('0x26')](respondWithResult(_0x189fe8,null))['catch'](handleError(_0x189fe8,null));};exports[_0x6383('0x48')]=function(_0x4dbd2a,_0x391b14){return db['JscriptySessionReport']['find']({'where':{'id':_0x4dbd2a[_0x6383('0x43')]['id']}})[_0x6383('0x26')](handleEntityNotFound(_0x391b14,null))[_0x6383('0x26')](removeEntity(_0x391b14,null))[_0x6383('0x42')](handleError(_0x391b14,null));};exports[_0x6383('0x49')]=function(_0xce8953,_0x19147c){return db[_0x6383('0x2d')][_0x6383('0x49')]()[_0x6383('0x26')](respondWithResult(_0x19147c,null))[_0x6383('0x42')](handleError(_0x19147c,null));};exports['getQuestions']=function(_0x7923c1,_0x635be2,_0x237786){var _0x3cdfe3={'raw':!![],'where':{}};var _0x2abdd0={};var _0x502d8a={'count':0x0,'rows':[]};return db['JscriptySessionReport'][_0x6383('0x4a')]({'where':{'id':_0x7923c1[_0x6383('0x43')]['id']}})[_0x6383('0x26')](handleEntityNotFound(_0x635be2,null))[_0x6383('0x26')](function(_0x5483b7){if(_0x5483b7){_0x2abdd0[_0x6383('0x35')]=_[_0x6383('0x44')](db[_0x6383('0x4b')][_0x6383('0x2e')]);_0x2abdd0[_0x6383('0x32')]=_['keys'](_0x7923c1['query']);_0x2abdd0[_0x6383('0x39')]=_[_0x6383('0x33')](_0x2abdd0[_0x6383('0x35')],_0x2abdd0[_0x6383('0x32')]);_0x3cdfe3[_0x6383('0x34')]=_[_0x6383('0x33')](_0x2abdd0['model'],qs[_0x6383('0x36')](_0x7923c1[_0x6383('0x32')][_0x6383('0x36')]));_0x3cdfe3[_0x6383('0x34')]=_0x3cdfe3[_0x6383('0x34')][_0x6383('0x4c')]?_0x3cdfe3[_0x6383('0x34')]:_0x2abdd0[_0x6383('0x35')];if(!_0x7923c1[_0x6383('0x32')][_0x6383('0x37')](_0x6383('0x4d'))){_0x3cdfe3['limit']=qs['limit'](_0x7923c1[_0x6383('0x32')][_0x6383('0x20')]);_0x3cdfe3[_0x6383('0x1f')]=qs[_0x6383('0x1f')](_0x7923c1[_0x6383('0x32')]['offset']);}_0x3cdfe3[_0x6383('0x4e')]=qs['sort'](_0x7923c1[_0x6383('0x32')]['sort']);_0x3cdfe3[_0x6383('0x3c')]=qs[_0x6383('0x39')](_[_0x6383('0x3a')](_0x7923c1['query'],_0x2abdd0[_0x6383('0x39')]));_0x3cdfe3[_0x6383('0x3c')][_0x6383('0x4f')]=_0x5483b7['id'];if(_0x7923c1[_0x6383('0x32')]['filter']){_0x3cdfe3[_0x6383('0x3c')]=_[_0x6383('0x3d')](_0x3cdfe3[_0x6383('0x3c')],{'$or':_[_0x6383('0x2c')](_0x3cdfe3[_0x6383('0x34')],function(_0x59aa31){var _0xb49173={};_0xb49173[_0x59aa31]={'$like':'%'+_0x7923c1[_0x6383('0x32')][_0x6383('0x3b')]+'%'};return _0xb49173;})});}_0x3cdfe3=_[_0x6383('0x3d')]({},_0x3cdfe3,_0x7923c1[_0x6383('0x3e')]);return db[_0x6383('0x4b')]['count']({'where':_0x3cdfe3[_0x6383('0x3c')]})[_0x6383('0x26')](function(_0x42c6e3){_0x502d8a[_0x6383('0x1e')]=_0x42c6e3;if(_0x7923c1['query'][_0x6383('0x50')]){_0x3cdfe3[_0x6383('0x3f')]=[{'all':!![]}];}return db[_0x6383('0x4b')][_0x6383('0x40')](_0x3cdfe3);})[_0x6383('0x26')](function(_0x32b045){_0x502d8a[_0x6383('0x41')]=_0x32b045;return _0x502d8a;});}})[_0x6383('0x26')](respondWithFilteredResult(_0x635be2,_0x3cdfe3))[_0x6383('0x42')](handleError(_0x635be2,null));};