Built motion from commit (unavailable).|2.0.83
[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 _0x0c26=['ejs','lodash','crypto','desk.js','querystring','papaparse','../../config/logger','../../config/utils','../../mysqldb','sendStatus','end','json','limit','status','set','Content-Range','apply','save','update','destroy','error','stack','name','send','index','JscriptySessionReport','rawAttributes','model','keys','query','dateEnd','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','sort','filters','dateStart','day','merge','where','filter','map','options','count','then','includeAll','include','rows','catch','show','params','create','body','find','describe','getQuestions','JscriptyQuestionReport','pick','findAll','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','sox','to-csv'];(function(_0x55f748,_0x4955fd){var _0x5ec857=function(_0x4e02bb){while(--_0x4e02bb){_0x55f748['push'](_0x55f748['shift']());}};_0x5ec857(++_0x4955fd);}(_0x0c26,0xcf));var _0x60c2=function(_0x2763f2,_0x416af8){_0x2763f2=_0x2763f2-0x0;var _0x3ef471=_0x0c26[_0x2763f2];return _0x3ef471;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x60c2('0x0'));var rimraf=require(_0x60c2('0x1'));var zipdir=require(_0x60c2('0x2'));var jsonpatch=require(_0x60c2('0x3'));var rp=require(_0x60c2('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x60c2('0x5'));var util=require(_0x60c2('0x6'));var path=require('path');var sox=require(_0x60c2('0x7'));var csv=require(_0x60c2('0x8'));var ejs=require(_0x60c2('0x9'));var fs=require('fs');var _=require(_0x60c2('0xa'));var squel=require('squel');var crypto=require(_0x60c2('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x60c2('0xc'));var toCsv=require(_0x60c2('0x8'));var querystring=require(_0x60c2('0xd'));var Papa=require(_0x60c2('0xe'));var qs=require('../../components/parsers/qs');var logger=require(_0x60c2('0xf'))('api');var utils=require(_0x60c2('0x10'));var config=require('../../config/environment');var db=require(_0x60c2('0x11'))['db'];function respondWithStatusCode(_0xe0cc09,_0x3233dd){_0x3233dd=_0x3233dd||0xcc;return function(_0x26482d){if(_0x26482d){return _0xe0cc09[_0x60c2('0x12')](_0x3233dd);}return _0xe0cc09['status'](_0x3233dd)[_0x60c2('0x13')]();};}function respondWithResult(_0xa6eb1a,_0x5c80b5){_0x5c80b5=_0x5c80b5||0xc8;return function(_0x2383d4){if(_0x2383d4){return _0xa6eb1a['status'](_0x5c80b5)[_0x60c2('0x14')](_0x2383d4);}};}function respondWithFilteredResult(_0x3da587,_0x447e98){return function(_0x2c0817){if(_0x2c0817){var _0x963962=_0x2c0817['count'],_0x21bb88=_0x447e98['offset'],_0x4367be=_0x447e98['offset']+_0x447e98[_0x60c2('0x15')],_0x3b4f93;if(_0x4367be>=_0x963962){_0x4367be=_0x963962;_0x3b4f93=0xc8;}else{_0x3b4f93=0xce;}_0x3da587[_0x60c2('0x16')](_0x3b4f93);return _0x3da587[_0x60c2('0x17')](_0x60c2('0x18'),_0x21bb88+'-'+_0x4367be+'/'+_0x963962)[_0x60c2('0x14')](_0x2c0817);}return null;};}function patchUpdates(_0x2c913a){return function(_0x4d9fa6){try{jsonpatch[_0x60c2('0x19')](_0x4d9fa6,_0x2c913a,!![]);}catch(_0x32d5bb){return BPromise['reject'](_0x32d5bb);}return _0x4d9fa6[_0x60c2('0x1a')]();};}function saveUpdates(_0x1a94c9,_0x17df32){return function(_0x4fab15){if(_0x4fab15){return _0x4fab15[_0x60c2('0x1b')](_0x1a94c9)['then'](function(_0x2239e1){return _0x2239e1;});}return null;};}function removeEntity(_0xc90e2e,_0x2c7eeb){return function(_0xd9a04a){if(_0xd9a04a){return _0xd9a04a[_0x60c2('0x1c')]()['then'](function(){_0xc90e2e[_0x60c2('0x16')](0xcc)[_0x60c2('0x13')]();});}};}function handleEntityNotFound(_0x2ffd1d,_0x269502){return function(_0x3b7be3){if(!_0x3b7be3){_0x2ffd1d[_0x60c2('0x12')](0x194);}return _0x3b7be3;};}function handleError(_0xf2e17,_0x374856){_0x374856=_0x374856||0x1f4;return function(_0x2b47b1){logger[_0x60c2('0x1d')](_0x2b47b1[_0x60c2('0x1e')]);if(_0x2b47b1[_0x60c2('0x1f')]){delete _0x2b47b1[_0x60c2('0x1f')];}_0xf2e17[_0x60c2('0x16')](_0x374856)[_0x60c2('0x20')](_0x2b47b1);};}exports[_0x60c2('0x21')]=function(_0x44ba9b,_0x14b059){var _0x2aaca8={},_0x457818={},_0x2b053d={'count':0x0,'rows':[]};var _0x53ca83=db[_0x60c2('0x22')][_0x60c2('0x23')];_0x457818[_0x60c2('0x24')]=_[_0x60c2('0x25')](_0x53ca83);var _0x401f1a={'dateStart':_0x44ba9b[_0x60c2('0x26')]['dateStart'],'dateEnd':_0x44ba9b[_0x60c2('0x26')][_0x60c2('0x27')]};delete _0x44ba9b[_0x60c2('0x26')]['dateStart'];delete _0x44ba9b[_0x60c2('0x26')][_0x60c2('0x27')];_0x457818[_0x60c2('0x26')]=_[_0x60c2('0x25')](_0x44ba9b[_0x60c2('0x26')]);_0x457818['filters']=_[_0x60c2('0x28')](_0x457818[_0x60c2('0x24')],_0x457818['query']);_0x2aaca8[_0x60c2('0x29')]=_[_0x60c2('0x28')](_0x457818[_0x60c2('0x24')],qs[_0x60c2('0x2a')](_0x44ba9b['query'][_0x60c2('0x2a')]));_0x2aaca8[_0x60c2('0x29')]=_0x2aaca8['attributes'][_0x60c2('0x2b')]?_0x2aaca8[_0x60c2('0x29')]:_0x457818[_0x60c2('0x24')];if(!_0x44ba9b[_0x60c2('0x26')][_0x60c2('0x2c')](_0x60c2('0x2d'))){_0x2aaca8[_0x60c2('0x15')]=qs[_0x60c2('0x15')](_0x44ba9b[_0x60c2('0x26')][_0x60c2('0x15')]);_0x2aaca8[_0x60c2('0x2e')]=qs[_0x60c2('0x2e')](_0x44ba9b[_0x60c2('0x26')][_0x60c2('0x2e')]);}_0x2aaca8['order']=qs[_0x60c2('0x2f')](_0x44ba9b[_0x60c2('0x26')]['sort']);_0x2aaca8['where']=qs[_0x60c2('0x30')](_['pick'](_0x44ba9b[_0x60c2('0x26')],_0x457818[_0x60c2('0x30')]));if(_0x401f1a[_0x60c2('0x31')]){if(_0x401f1a[_0x60c2('0x27')]){_0x401f1a[_0x60c2('0x27')]=moment(_0x401f1a[_0x60c2('0x27')])['add'](0x1,_0x60c2('0x32'));}else{_0x401f1a[_0x60c2('0x27')]=moment(_0x401f1a[_0x60c2('0x31')])['add'](0x1,'day');}_[_0x60c2('0x33')](_0x2aaca8[_0x60c2('0x34')],{'createdAt':{'$gte':_0x401f1a[_0x60c2('0x31')],'$lte':_0x401f1a[_0x60c2('0x27')]}});}if(_0x44ba9b[_0x60c2('0x26')][_0x60c2('0x35')]){_0x2aaca8['where']=_[_0x60c2('0x33')](_0x2aaca8[_0x60c2('0x34')],{'$or':_[_0x60c2('0x36')](_0x2aaca8[_0x60c2('0x29')],function(_0x34c80c){var _0x282275={};_0x282275[_0x34c80c]={'$like':'%'+_0x44ba9b[_0x60c2('0x26')][_0x60c2('0x35')]+'%'};return _0x282275;})});}_0x2aaca8=_['merge']({},_0x2aaca8,_0x44ba9b[_0x60c2('0x37')]);var _0x511b67={'where':_0x2aaca8[_0x60c2('0x34')]};return db['JscriptySessionReport'][_0x60c2('0x38')](_0x511b67)[_0x60c2('0x39')](function(_0xdd2365){_0x2b053d[_0x60c2('0x38')]=_0xdd2365;if(_0x44ba9b[_0x60c2('0x26')][_0x60c2('0x3a')]){_0x2aaca8[_0x60c2('0x3b')]=[{'all':!![]}];}return db[_0x60c2('0x22')]['findAll'](_0x2aaca8);})[_0x60c2('0x39')](function(_0x2a911b){_0x2b053d[_0x60c2('0x3c')]=_0x2a911b;return _0x2b053d;})[_0x60c2('0x39')](respondWithFilteredResult(_0x14b059,_0x2aaca8))[_0x60c2('0x3d')](handleError(_0x14b059,null));};exports[_0x60c2('0x3e')]=function(_0x8929ae,_0xf4cda8){var _0x2d0cf2={'raw':!![],'where':{'id':_0x8929ae[_0x60c2('0x3f')]['id']}},_0x54ecaa={};_0x54ecaa[_0x60c2('0x24')]=_[_0x60c2('0x25')](db[_0x60c2('0x22')][_0x60c2('0x23')]);_0x54ecaa[_0x60c2('0x26')]=_[_0x60c2('0x25')](_0x8929ae[_0x60c2('0x26')]);_0x54ecaa[_0x60c2('0x30')]=_[_0x60c2('0x28')](_0x54ecaa[_0x60c2('0x24')],_0x54ecaa[_0x60c2('0x26')]);_0x2d0cf2[_0x60c2('0x29')]=_[_0x60c2('0x28')](_0x54ecaa[_0x60c2('0x24')],qs[_0x60c2('0x2a')](_0x8929ae[_0x60c2('0x26')][_0x60c2('0x2a')]));_0x2d0cf2[_0x60c2('0x29')]=_0x2d0cf2[_0x60c2('0x29')][_0x60c2('0x2b')]?_0x2d0cf2['attributes']:_0x54ecaa[_0x60c2('0x24')];if(_0x8929ae[_0x60c2('0x26')][_0x60c2('0x3a')]){_0x2d0cf2[_0x60c2('0x3b')]=[{'all':!![]}];}_0x2d0cf2=_['merge']({},_0x2d0cf2,_0x8929ae[_0x60c2('0x37')]);return db[_0x60c2('0x22')]['find'](_0x2d0cf2)['then'](handleEntityNotFound(_0xf4cda8,null))[_0x60c2('0x39')](respondWithResult(_0xf4cda8,null))[_0x60c2('0x3d')](handleError(_0xf4cda8,null));};exports[_0x60c2('0x40')]=function(_0x259634,_0x546ff5){return db['JscriptySessionReport'][_0x60c2('0x40')](_0x259634[_0x60c2('0x41')],{})['then'](respondWithResult(_0x546ff5,0xc9))[_0x60c2('0x3d')](handleError(_0x546ff5,null));};exports[_0x60c2('0x1b')]=function(_0x33cdbe,_0x54bf12){if(_0x33cdbe[_0x60c2('0x41')]['id']){delete _0x33cdbe['body']['id'];}return db[_0x60c2('0x22')][_0x60c2('0x42')]({'where':{'id':_0x33cdbe[_0x60c2('0x3f')]['id']}})[_0x60c2('0x39')](handleEntityNotFound(_0x54bf12,null))[_0x60c2('0x39')](saveUpdates(_0x33cdbe['body'],null))[_0x60c2('0x39')](respondWithResult(_0x54bf12,null))[_0x60c2('0x3d')](handleError(_0x54bf12,null));};exports[_0x60c2('0x1c')]=function(_0x384ebe,_0x1c418c){return db[_0x60c2('0x22')][_0x60c2('0x42')]({'where':{'id':_0x384ebe[_0x60c2('0x3f')]['id']}})[_0x60c2('0x39')](handleEntityNotFound(_0x1c418c,null))['then'](removeEntity(_0x1c418c,null))[_0x60c2('0x3d')](handleError(_0x1c418c,null));};exports[_0x60c2('0x43')]=function(_0x4cd0a5,_0x3359f9){return db[_0x60c2('0x22')][_0x60c2('0x43')]()[_0x60c2('0x39')](respondWithResult(_0x3359f9,null))[_0x60c2('0x3d')](handleError(_0x3359f9,null));};exports[_0x60c2('0x44')]=function(_0x3c58ff,_0x9bd2c5,_0x33ebc1){var _0x51f954={'raw':!![],'where':{}};var _0x460340={};var _0x20c623={'count':0x0,'rows':[]};return db['JscriptySessionReport']['findOne']({'where':{'id':_0x3c58ff[_0x60c2('0x3f')]['id']}})[_0x60c2('0x39')](handleEntityNotFound(_0x9bd2c5,null))[_0x60c2('0x39')](function(_0x26e8a2){if(_0x26e8a2){_0x460340[_0x60c2('0x24')]=_[_0x60c2('0x25')](db[_0x60c2('0x45')][_0x60c2('0x23')]);_0x460340[_0x60c2('0x26')]=_['keys'](_0x3c58ff['query']);_0x460340[_0x60c2('0x30')]=_[_0x60c2('0x28')](_0x460340[_0x60c2('0x24')],_0x460340[_0x60c2('0x26')]);_0x51f954[_0x60c2('0x29')]=_[_0x60c2('0x28')](_0x460340['model'],qs[_0x60c2('0x2a')](_0x3c58ff[_0x60c2('0x26')][_0x60c2('0x2a')]));_0x51f954['attributes']=_0x51f954['attributes']['length']?_0x51f954[_0x60c2('0x29')]:_0x460340[_0x60c2('0x24')];if(!_0x3c58ff[_0x60c2('0x26')][_0x60c2('0x2c')](_0x60c2('0x2d'))){_0x51f954[_0x60c2('0x15')]=qs['limit'](_0x3c58ff[_0x60c2('0x26')][_0x60c2('0x15')]);_0x51f954[_0x60c2('0x2e')]=qs[_0x60c2('0x2e')](_0x3c58ff[_0x60c2('0x26')][_0x60c2('0x2e')]);}_0x51f954['order']=qs[_0x60c2('0x2f')](_0x3c58ff['query']['sort']);_0x51f954[_0x60c2('0x34')]=qs[_0x60c2('0x30')](_[_0x60c2('0x46')](_0x3c58ff[_0x60c2('0x26')],_0x460340[_0x60c2('0x30')]));_0x51f954[_0x60c2('0x34')]['SessionId']=_0x26e8a2['id'];if(_0x3c58ff[_0x60c2('0x26')][_0x60c2('0x35')]){_0x51f954[_0x60c2('0x34')]=_[_0x60c2('0x33')](_0x51f954[_0x60c2('0x34')],{'$or':_[_0x60c2('0x36')](_0x51f954['attributes'],function(_0x41862e){var _0x3c10f7={};_0x3c10f7[_0x41862e]={'$like':'%'+_0x3c58ff[_0x60c2('0x26')]['filter']+'%'};return _0x3c10f7;})});}_0x51f954=_[_0x60c2('0x33')]({},_0x51f954,_0x3c58ff[_0x60c2('0x37')]);return db['JscriptyQuestionReport']['count']({'where':_0x51f954['where']})[_0x60c2('0x39')](function(_0x35c823){_0x20c623['count']=_0x35c823;if(_0x3c58ff['query'][_0x60c2('0x3a')]){_0x51f954[_0x60c2('0x3b')]=[{'all':!![]}];}return db[_0x60c2('0x45')][_0x60c2('0x47')](_0x51f954);})['then'](function(_0xd541f0){_0x20c623[_0x60c2('0x3c')]=_0xd541f0;return _0x20c623;});}})[_0x60c2('0x39')](respondWithFilteredResult(_0x9bd2c5,_0x51f954))[_0x60c2('0x3d')](handleError(_0x9bd2c5,null));};