Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / api / interval / interval.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 _0xae72=['Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','addInterval','getIntervals','findOne','addIntervals','sequelize','transaction','IntervalId','bulkCreate','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/extensions/rewrite','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','get','Intervals','UserProfileResource','then','stack','name','send','index','map','Interval','key','query','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filters','filter','where','merge','type','VIRTUAL','includeAll','include','findAll','rows','catch','show','keys','rawAttributes','options','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','create'];(function(_0x5cb96c,_0x1ec09c){var _0x1fa6db=function(_0x973446){while(--_0x973446){_0x5cb96c['push'](_0x5cb96c['shift']());}};_0x1fa6db(++_0x1ec09c);}(_0xae72,0x176));var _0x2ae7=function(_0x24d61f,_0x38cebb){_0x24d61f=_0x24d61f-0x0;var _0x29ae79=_0xae72[_0x24d61f];return _0x29ae79;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x2ae7('0x0'));var rimraf=require(_0x2ae7('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2ae7('0x2'));var rp=require(_0x2ae7('0x3'));var moment=require('moment');var BPromise=require(_0x2ae7('0x4'));var Mustache=require(_0x2ae7('0x5'));var util=require('util');var path=require('path');var sox=require(_0x2ae7('0x6'));var csv=require(_0x2ae7('0x7'));var ejs=require(_0x2ae7('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x2ae7('0x9'));var crypto=require(_0x2ae7('0xa'));var jsforce=require(_0x2ae7('0xb'));var deskjs=require(_0x2ae7('0xc'));var toCsv=require(_0x2ae7('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x2ae7('0xd'));var authService=require(_0x2ae7('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x2ae7('0xf'));var hardwareService=require(_0x2ae7('0x10'));var logger=require(_0x2ae7('0x11'))(_0x2ae7('0x12'));var utils=require(_0x2ae7('0x13'));var config=require(_0x2ae7('0x14'));var db=require(_0x2ae7('0x15'))['db'];var extensions=require(_0x2ae7('0x16'));function respondWithStatusCode(_0x72fb61,_0xfa9121){_0xfa9121=_0xfa9121||0xcc;return function(_0x205316){if(_0x205316){return _0x72fb61['sendStatus'](_0xfa9121);}return _0x72fb61[_0x2ae7('0x17')](_0xfa9121)[_0x2ae7('0x18')]();};}function respondWithResult(_0x52ff4b,_0x31353a){_0x31353a=_0x31353a||0xc8;return function(_0xedeff5){if(_0xedeff5){return _0x52ff4b['status'](_0x31353a)[_0x2ae7('0x19')](_0xedeff5);}};}function respondWithFilteredResult(_0x5c396f,_0x4a0d80){return function(_0x77b61e){if(_0x77b61e){var _0x4cebd8=_0x77b61e[_0x2ae7('0x1a')],_0x3cb2b0=_0x4a0d80[_0x2ae7('0x1b')],_0x222f79=_0x4a0d80[_0x2ae7('0x1b')]+_0x4a0d80[_0x2ae7('0x1c')],_0x31c389;if(_0x222f79>=_0x4cebd8){_0x222f79=_0x4cebd8;_0x31c389=0xc8;}else{_0x31c389=0xce;}_0x5c396f[_0x2ae7('0x17')](_0x31c389);return _0x5c396f[_0x2ae7('0x1d')](_0x2ae7('0x1e'),_0x3cb2b0+'-'+_0x222f79+'/'+_0x4cebd8)[_0x2ae7('0x19')](_0x77b61e);}return null;};}function patchUpdates(_0x4c96e3){return function(_0x2365ca){try{jsonpatch[_0x2ae7('0x1f')](_0x2365ca,_0x4c96e3,!![]);}catch(_0x1b22f3){return BPromise[_0x2ae7('0x20')](_0x1b22f3);}return _0x2365ca[_0x2ae7('0x21')]();};}function saveUpdates(_0x227663,_0x3d0575){return function(_0x306e32){if(_0x306e32){return _0x306e32[_0x2ae7('0x22')](_0x227663)['then'](function(_0x256159){return _0x256159;});}return null;};}function removeEntity(_0x91c416,_0x5c41a3){return function(_0x596804){if(_0x596804){return _0x596804[_0x2ae7('0x23')]()['then'](function(){var _0xfda0db=_0x596804[_0x2ae7('0x24')]({'plain':!![]});var _0x49bc07=_0x2ae7('0x25');return db[_0x2ae7('0x26')][_0x2ae7('0x23')]({'where':{'type':_0x49bc07,'resourceId':_0xfda0db['id']}})[_0x2ae7('0x27')](function(){return _0x596804;});})[_0x2ae7('0x27')](function(){_0x91c416[_0x2ae7('0x17')](0xcc)[_0x2ae7('0x18')]();});}};}function handleEntityNotFound(_0x43661e,_0x41fc6a){return function(_0x4e3b18){if(!_0x4e3b18){_0x43661e['sendStatus'](0x194);}return _0x4e3b18;};}function handleError(_0xe18cd3,_0x17a7af){_0x17a7af=_0x17a7af||0x1f4;return function(_0x4e1746){logger['error'](_0x4e1746[_0x2ae7('0x28')]);if(_0x4e1746[_0x2ae7('0x29')]){delete _0x4e1746[_0x2ae7('0x29')];}_0xe18cd3['status'](_0x17a7af)[_0x2ae7('0x2a')](_0x4e1746);};}exports[_0x2ae7('0x2b')]=function(_0x43421f,_0x1f79e6){var _0x279d59={},_0xdf61e2={},_0x5372b3={'count':0x0,'rows':[]};var _0x52f61e=_[_0x2ae7('0x2c')](db[_0x2ae7('0x2d')]['rawAttributes'],function(_0x1ff96e){return{'name':_0x1ff96e['fieldName'],'type':_0x1ff96e['type'][_0x2ae7('0x2e')]};});_0xdf61e2['model']=_[_0x2ae7('0x2c')](_0x52f61e,_0x2ae7('0x29'));_0xdf61e2[_0x2ae7('0x2f')]=_['keys'](_0x43421f[_0x2ae7('0x2f')]);_0xdf61e2['filters']=_['intersection'](_0xdf61e2[_0x2ae7('0x30')],_0xdf61e2[_0x2ae7('0x2f')]);_0x279d59[_0x2ae7('0x31')]=_[_0x2ae7('0x32')](_0xdf61e2[_0x2ae7('0x30')],qs[_0x2ae7('0x33')](_0x43421f[_0x2ae7('0x2f')][_0x2ae7('0x33')]));_0x279d59[_0x2ae7('0x31')]=_0x279d59[_0x2ae7('0x31')][_0x2ae7('0x34')]?_0x279d59[_0x2ae7('0x31')]:_0xdf61e2['model'];if(!_0x43421f[_0x2ae7('0x2f')][_0x2ae7('0x35')](_0x2ae7('0x36'))){_0x279d59[_0x2ae7('0x1c')]=qs[_0x2ae7('0x1c')](_0x43421f[_0x2ae7('0x2f')]['limit']);_0x279d59['offset']=qs[_0x2ae7('0x1b')](_0x43421f[_0x2ae7('0x2f')][_0x2ae7('0x1b')]);}_0x279d59[_0x2ae7('0x37')]=qs['sort'](_0x43421f[_0x2ae7('0x2f')][_0x2ae7('0x38')]);_0x279d59['where']=qs['filters'](_[_0x2ae7('0x39')](_0x43421f['query'],_0xdf61e2[_0x2ae7('0x3a')]),_0x52f61e);if(_0x43421f[_0x2ae7('0x2f')][_0x2ae7('0x3b')]){_0x279d59[_0x2ae7('0x3c')]=_[_0x2ae7('0x3d')](_0x279d59[_0x2ae7('0x3c')],{'$or':_[_0x2ae7('0x2c')](_0x52f61e,function(_0x5af891){if(_0x5af891[_0x2ae7('0x3e')]!==_0x2ae7('0x3f')){var _0x5d1779={};_0x5d1779[_0x5af891[_0x2ae7('0x29')]]={'$like':'%'+_0x43421f[_0x2ae7('0x2f')][_0x2ae7('0x3b')]+'%'};return _0x5d1779;}})});}_0x279d59=_['merge']({},_0x279d59,_0x43421f['options']);var _0x500e4b={'where':_0x279d59[_0x2ae7('0x3c')]};return db[_0x2ae7('0x2d')][_0x2ae7('0x1a')](_0x500e4b)[_0x2ae7('0x27')](function(_0x97e3d6){_0x5372b3[_0x2ae7('0x1a')]=_0x97e3d6;if(_0x43421f[_0x2ae7('0x2f')][_0x2ae7('0x40')]){_0x279d59[_0x2ae7('0x41')]=[{'all':!![]}];}return db[_0x2ae7('0x2d')][_0x2ae7('0x42')](_0x279d59);})[_0x2ae7('0x27')](function(_0x385d42){_0x5372b3[_0x2ae7('0x43')]=_0x385d42;return _0x5372b3;})['then'](respondWithFilteredResult(_0x1f79e6,_0x279d59))[_0x2ae7('0x44')](handleError(_0x1f79e6,null));};exports[_0x2ae7('0x45')]=function(_0x51484e,_0x281ca1){var _0x479f0f={'raw':!![],'where':{'id':_0x51484e['params']['id']}},_0x5035e9={};_0x5035e9[_0x2ae7('0x30')]=_[_0x2ae7('0x46')](db[_0x2ae7('0x2d')][_0x2ae7('0x47')]);_0x5035e9[_0x2ae7('0x2f')]=_[_0x2ae7('0x46')](_0x51484e[_0x2ae7('0x2f')]);_0x5035e9[_0x2ae7('0x3a')]=_[_0x2ae7('0x32')](_0x5035e9[_0x2ae7('0x30')],_0x5035e9[_0x2ae7('0x2f')]);_0x479f0f[_0x2ae7('0x31')]=_[_0x2ae7('0x32')](_0x5035e9[_0x2ae7('0x30')],qs[_0x2ae7('0x33')](_0x51484e[_0x2ae7('0x2f')][_0x2ae7('0x33')]));_0x479f0f[_0x2ae7('0x31')]=_0x479f0f[_0x2ae7('0x31')][_0x2ae7('0x34')]?_0x479f0f[_0x2ae7('0x31')]:_0x5035e9['model'];if(_0x51484e[_0x2ae7('0x2f')][_0x2ae7('0x40')]){_0x479f0f[_0x2ae7('0x41')]=[{'all':!![]}];}_0x479f0f=_[_0x2ae7('0x3d')]({},_0x479f0f,_0x51484e[_0x2ae7('0x48')]);return db['Interval'][_0x2ae7('0x49')](_0x479f0f)[_0x2ae7('0x27')](handleEntityNotFound(_0x281ca1,null))[_0x2ae7('0x27')](respondWithResult(_0x281ca1,null))[_0x2ae7('0x44')](handleError(_0x281ca1,null));};exports['create']=function(_0x508b73,_0x5639cd){return db[_0x2ae7('0x2d')]['create'](_0x508b73[_0x2ae7('0x4a')],{})[_0x2ae7('0x27')](function(_0x5cdf10){var _0xc5346d=_0x508b73[_0x2ae7('0x4b')][_0x2ae7('0x24')]({'plain':!![]});if(!_0xc5346d)throw new Error(_0x2ae7('0x4c'));if(_0xc5346d[_0x2ae7('0x4d')]===_0x2ae7('0x4b')){var _0xbdb28d=_0x5cdf10[_0x2ae7('0x24')]({'plain':!![]});var _0xa88e69=_0x2ae7('0x25');return db[_0x2ae7('0x4e')][_0x2ae7('0x49')]({'where':{'name':_0xa88e69,'userProfileId':_0xc5346d[_0x2ae7('0x4f')]},'raw':!![]})['then'](function(_0x4bf716){if(_0x4bf716&&_0x4bf716['autoAssociation']===0x0){return db[_0x2ae7('0x26')][_0x2ae7('0x50')]({'name':_0xbdb28d[_0x2ae7('0x29')],'resourceId':_0xbdb28d['id'],'type':_0x4bf716[_0x2ae7('0x29')],'sectionId':_0x4bf716['id']},{})[_0x2ae7('0x27')](function(){return _0x5cdf10;});}else{return _0x5cdf10;}})[_0x2ae7('0x44')](function(_0x5287db){logger['error'](_0x2ae7('0x51'),_0x5287db);throw _0x5287db;});}return _0x5cdf10;})[_0x2ae7('0x27')](respondWithResult(_0x5639cd,0xc9))['catch'](handleError(_0x5639cd,null));};exports[_0x2ae7('0x22')]=function(_0x231aa1,_0x4b0789){if(_0x231aa1[_0x2ae7('0x4a')]['id']){delete _0x231aa1[_0x2ae7('0x4a')]['id'];}return db['Interval'][_0x2ae7('0x49')]({'where':{'id':_0x231aa1['params']['id']}})[_0x2ae7('0x27')](handleEntityNotFound(_0x4b0789,null))[_0x2ae7('0x27')](saveUpdates(_0x231aa1['body'],null))[_0x2ae7('0x27')](respondWithResult(_0x4b0789,null))[_0x2ae7('0x44')](handleError(_0x4b0789,null));};exports[_0x2ae7('0x23')]=function(_0x2feeaf,_0xcbdb27){return db['Interval'][_0x2ae7('0x49')]({'where':{'id':_0x2feeaf[_0x2ae7('0x52')]['id']}})[_0x2ae7('0x27')](handleEntityNotFound(_0xcbdb27,null))[_0x2ae7('0x27')](removeEntity(_0xcbdb27,null))['catch'](handleError(_0xcbdb27,null));};exports[_0x2ae7('0x53')]=function(_0x3ba2b2,_0x3243e5,_0x4394de){if(_0x3ba2b2[_0x2ae7('0x4a')]['id']){delete _0x3ba2b2[_0x2ae7('0x4a')]['id'];}return db[_0x2ae7('0x2d')][_0x2ae7('0x49')]({'where':{'id':_0x3ba2b2['params']['id']}})[_0x2ae7('0x27')](handleEntityNotFound(_0x3243e5,null))[_0x2ae7('0x27')](function(_0x591c36){if(_0x591c36){_0x3ba2b2['body']['IntervalId']=_0x591c36['id'];return db[_0x2ae7('0x2d')]['create'](_0x3ba2b2[_0x2ae7('0x4a')]);}})[_0x2ae7('0x27')](respondWithResult(_0x3243e5,null))[_0x2ae7('0x44')](handleError(_0x3243e5,null));};exports[_0x2ae7('0x54')]=function(_0x2a6376,_0x441bf8,_0x5cebc5){var _0x3cf281={};var _0x13b440={};var _0x424ae2;var _0x57aae6;return db[_0x2ae7('0x2d')][_0x2ae7('0x55')]({'where':{'id':_0x2a6376[_0x2ae7('0x52')]['id']}})[_0x2ae7('0x27')](handleEntityNotFound(_0x441bf8,null))[_0x2ae7('0x27')](function(_0x10cc9e){if(_0x10cc9e){_0x424ae2=_0x10cc9e;_0x13b440[_0x2ae7('0x30')]=_[_0x2ae7('0x46')](db[_0x2ae7('0x2d')][_0x2ae7('0x47')]);_0x13b440[_0x2ae7('0x2f')]=_[_0x2ae7('0x46')](_0x2a6376['query']);_0x13b440[_0x2ae7('0x3a')]=_['intersection'](_0x13b440['model'],_0x13b440[_0x2ae7('0x2f')]);_0x3cf281[_0x2ae7('0x31')]=_['intersection'](_0x13b440[_0x2ae7('0x30')],qs['fields'](_0x2a6376[_0x2ae7('0x2f')][_0x2ae7('0x33')]));_0x3cf281['attributes']=_0x3cf281[_0x2ae7('0x31')][_0x2ae7('0x34')]?_0x3cf281[_0x2ae7('0x31')]:_0x13b440[_0x2ae7('0x30')];_0x3cf281[_0x2ae7('0x37')]=qs[_0x2ae7('0x38')](_0x2a6376[_0x2ae7('0x2f')][_0x2ae7('0x38')]);_0x3cf281[_0x2ae7('0x3c')]=qs[_0x2ae7('0x3a')](_['pick'](_0x2a6376[_0x2ae7('0x2f')],_0x13b440[_0x2ae7('0x3a')]));if(_0x2a6376[_0x2ae7('0x2f')]['filter']){_0x3cf281['where']=_[_0x2ae7('0x3d')](_0x3cf281[_0x2ae7('0x3c')],{'$or':_[_0x2ae7('0x2c')](_0x3cf281[_0x2ae7('0x31')],function(_0x350a79){var _0x32b523={};_0x32b523[_0x350a79]={'$like':'%'+_0x2a6376['query'][_0x2ae7('0x3b')]+'%'};return _0x32b523;})});}_0x3cf281=_[_0x2ae7('0x3d')]({},_0x3cf281,_0x2a6376[_0x2ae7('0x48')]);return _0x424ae2[_0x2ae7('0x54')](_0x3cf281);}})['then'](function(_0x36e244){if(_0x36e244){_0x57aae6=_0x36e244['length'];if(!_0x2a6376['query'][_0x2ae7('0x35')]('nolimit')){_0x3cf281[_0x2ae7('0x1c')]=qs[_0x2ae7('0x1c')](_0x2a6376[_0x2ae7('0x2f')][_0x2ae7('0x1c')]);_0x3cf281[_0x2ae7('0x1b')]=qs['offset'](_0x2a6376[_0x2ae7('0x2f')][_0x2ae7('0x1b')]);}return _0x424ae2['getIntervals'](_0x3cf281);}})[_0x2ae7('0x27')](function(_0x23c6ea){if(_0x23c6ea){return _0x23c6ea?{'count':_0x57aae6,'rows':_0x23c6ea}:null;}})[_0x2ae7('0x27')](respondWithResult(_0x441bf8,null))[_0x2ae7('0x44')](handleError(_0x441bf8,null));};exports[_0x2ae7('0x56')]=function(_0x1fc3a8,_0x13ea8a,_0x25f3ed){return db[_0x2ae7('0x2d')][_0x2ae7('0x55')]({'where':{'id':_0x1fc3a8[_0x2ae7('0x52')]['id']}})[_0x2ae7('0x27')](handleEntityNotFound(_0x13ea8a,null))[_0x2ae7('0x27')](function(_0x4b8e88){if(_0x4b8e88){return db[_0x2ae7('0x57')][_0x2ae7('0x58')](function(_0x23583f){return db['Interval'][_0x2ae7('0x23')]({'where':{'IntervalId':_0x1fc3a8[_0x2ae7('0x52')]['id']},'transaction':_0x23583f})['then'](function(_0x2f660b){var _0x14795e=_[_0x2ae7('0x2c')](_0x1fc3a8['body'],function(_0x147352){delete _0x147352['id'];_0x147352[_0x2ae7('0x59')]=_0x1fc3a8[_0x2ae7('0x52')]['id'];return _0x147352;});return db[_0x2ae7('0x2d')][_0x2ae7('0x5a')](_0x14795e,{'transaction':_0x23583f});});})['then'](function(){return db[_0x2ae7('0x2d')]['findAll']({'where':{'IntervalId':_0x1fc3a8['params']['id']}});});}})[_0x2ae7('0x27')](respondWithResult(_0x13ea8a,null))['catch'](handleError(_0x13ea8a,null));};