Built motion from commit fa4c4286.|2.6.29
[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 _0xfd9f=['eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/extensions/rewrite','end','status','json','offset','undefined','limit','set','Content-Range','apply','reject','save','then','destroy','get','UserProfileResource','sendStatus','error','name','send','index','Interval','fieldName','type','key','map','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','merge','VIRTUAL','filter','options','count','includeAll','include','rows','show','params','keys','rawAttributes','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','addInterval','IntervalId','getIntervals','findOne','pick','hasOwnProperty','addIntervals','sequelize','bulkCreate','findAll'];(function(_0x54633b,_0x5c2de8){var _0x5edbf7=function(_0x263805){while(--_0x263805){_0x54633b['push'](_0x54633b['shift']());}};_0x5edbf7(++_0x5c2de8);}(_0xfd9f,0x1db));var _0xffd9=function(_0x2afaf3,_0x4ebf7a){_0x2afaf3=_0x2afaf3-0x0;var _0xf45003=_0xfd9f[_0x2afaf3];return _0xf45003;};'use strict';var emlformat=require(_0xffd9('0x0'));var rimraf=require(_0xffd9('0x1'));var zipdir=require(_0xffd9('0x2'));var jsonpatch=require(_0xffd9('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xffd9('0x4'));var Mustache=require(_0xffd9('0x5'));var util=require(_0xffd9('0x6'));var path=require(_0xffd9('0x7'));var sox=require('sox');var csv=require(_0xffd9('0x8'));var ejs=require(_0xffd9('0x9'));var fs=require('fs');var fs_extra=require(_0xffd9('0xa'));var _=require(_0xffd9('0xb'));var squel=require('squel');var crypto=require(_0xffd9('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xffd9('0xd'));var toCsv=require(_0xffd9('0x8'));var querystring=require(_0xffd9('0xe'));var Papa=require(_0xffd9('0xf'));var Redis=require(_0xffd9('0x10'));var authService=require(_0xffd9('0x11'));var qs=require(_0xffd9('0x12'));var as=require(_0xffd9('0x13'));var hardwareService=require(_0xffd9('0x14'));var logger=require(_0xffd9('0x15'))(_0xffd9('0x16'));var utils=require(_0xffd9('0x17'));var config=require(_0xffd9('0x18'));var licenseUtil=require(_0xffd9('0x19'));var db=require('../../mysqldb')['db'];var extensions=require(_0xffd9('0x1a'));function respondWithStatusCode(_0x53eac1,_0x2bd190){_0x2bd190=_0x2bd190||0xcc;return function(_0x2bb42a){if(_0x2bb42a){return _0x53eac1['sendStatus'](_0x2bd190);}return _0x53eac1['status'](_0x2bd190)[_0xffd9('0x1b')]();};}function respondWithResult(_0x2c13f3,_0x310e74){_0x310e74=_0x310e74||0xc8;return function(_0xbbf49a){if(_0xbbf49a){return _0x2c13f3[_0xffd9('0x1c')](_0x310e74)[_0xffd9('0x1d')](_0xbbf49a);}};}function respondWithFilteredResult(_0x419390,_0x21ee96){return function(_0x510191){if(_0x510191){var _0x7ecbc8=typeof _0x21ee96[_0xffd9('0x1e')]===_0xffd9('0x1f')&&typeof _0x21ee96[_0xffd9('0x20')]==='undefined';var _0x17c0f9=_0x510191['count'];var _0x2141ae=_0x7ecbc8?0x0:_0x21ee96['offset'];var _0x3b4686=_0x7ecbc8?_0x510191['count']:_0x21ee96[_0xffd9('0x1e')]+_0x21ee96[_0xffd9('0x20')];var _0x11069d;if(_0x3b4686>=_0x17c0f9){_0x3b4686=_0x17c0f9;_0x11069d=0xc8;}else{_0x11069d=0xce;}_0x419390['status'](_0x11069d);return _0x419390[_0xffd9('0x21')](_0xffd9('0x22'),_0x2141ae+'-'+_0x3b4686+'/'+_0x17c0f9)[_0xffd9('0x1d')](_0x510191);}return null;};}function patchUpdates(_0x5797cc){return function(_0x45c3d8){try{jsonpatch[_0xffd9('0x23')](_0x45c3d8,_0x5797cc,!![]);}catch(_0x10feae){return BPromise[_0xffd9('0x24')](_0x10feae);}return _0x45c3d8[_0xffd9('0x25')]();};}function saveUpdates(_0x4a689f,_0x10d564){return function(_0x20886f){if(_0x20886f){return _0x20886f['update'](_0x4a689f)[_0xffd9('0x26')](function(_0xcee7f){return _0xcee7f;});}return null;};}function removeEntity(_0x550d65,_0xb48178){return function(_0x9f9377){if(_0x9f9377){return _0x9f9377[_0xffd9('0x27')]()[_0xffd9('0x26')](function(){var _0x1505e1=_0x9f9377[_0xffd9('0x28')]({'plain':!![]});var _0x85ab96='Intervals';return db[_0xffd9('0x29')][_0xffd9('0x27')]({'where':{'type':_0x85ab96,'resourceId':_0x1505e1['id']}})['then'](function(){return _0x9f9377;});})[_0xffd9('0x26')](function(){_0x550d65[_0xffd9('0x1c')](0xcc)[_0xffd9('0x1b')]();});}};}function handleEntityNotFound(_0x1e809f,_0x3e752a){return function(_0x5a0843){if(!_0x5a0843){_0x1e809f[_0xffd9('0x2a')](0x194);}return _0x5a0843;};}function handleError(_0x44b3f4,_0x250e40){_0x250e40=_0x250e40||0x1f4;return function(_0x18305e){logger[_0xffd9('0x2b')](_0x18305e['stack']);if(_0x18305e[_0xffd9('0x2c')]){delete _0x18305e[_0xffd9('0x2c')];}_0x44b3f4[_0xffd9('0x1c')](_0x250e40)[_0xffd9('0x2d')](_0x18305e);};}exports[_0xffd9('0x2e')]=function(_0x315ac3,_0x4beea4){var _0x35282b={},_0x33b5af={},_0x405a2e={'count':0x0,'rows':[]};var _0x5acbcc=_['map'](db[_0xffd9('0x2f')]['rawAttributes'],function(_0x5bb6f4){return{'name':_0x5bb6f4[_0xffd9('0x30')],'type':_0x5bb6f4[_0xffd9('0x31')][_0xffd9('0x32')]};});_0x33b5af['model']=_[_0xffd9('0x33')](_0x5acbcc,'name');_0x33b5af[_0xffd9('0x34')]=_['keys'](_0x315ac3[_0xffd9('0x34')]);_0x33b5af[_0xffd9('0x35')]=_[_0xffd9('0x36')](_0x33b5af[_0xffd9('0x37')],_0x33b5af[_0xffd9('0x34')]);_0x35282b[_0xffd9('0x38')]=_[_0xffd9('0x36')](_0x33b5af[_0xffd9('0x37')],qs['fields'](_0x315ac3[_0xffd9('0x34')][_0xffd9('0x39')]));_0x35282b['attributes']=_0x35282b[_0xffd9('0x38')][_0xffd9('0x3a')]?_0x35282b[_0xffd9('0x38')]:_0x33b5af[_0xffd9('0x37')];if(!_0x315ac3['query']['hasOwnProperty'](_0xffd9('0x3b'))){_0x35282b[_0xffd9('0x20')]=qs[_0xffd9('0x20')](_0x315ac3['query'][_0xffd9('0x20')]);_0x35282b['offset']=qs['offset'](_0x315ac3['query'][_0xffd9('0x1e')]);}_0x35282b[_0xffd9('0x3c')]=qs[_0xffd9('0x3d')](_0x315ac3[_0xffd9('0x34')]['sort']);_0x35282b['where']=qs[_0xffd9('0x35')](_['pick'](_0x315ac3['query'],_0x33b5af[_0xffd9('0x35')]),_0x5acbcc);if(_0x315ac3[_0xffd9('0x34')]['filter']){_0x35282b[_0xffd9('0x3e')]=_[_0xffd9('0x3f')](_0x35282b['where'],{'$or':_[_0xffd9('0x33')](_0x5acbcc,function(_0x3067b1){if(_0x3067b1[_0xffd9('0x31')]!==_0xffd9('0x40')){var _0x129eb9={};_0x129eb9[_0x3067b1[_0xffd9('0x2c')]]={'$like':'%'+_0x315ac3[_0xffd9('0x34')][_0xffd9('0x41')]+'%'};return _0x129eb9;}})});}_0x35282b=_[_0xffd9('0x3f')]({},_0x35282b,_0x315ac3[_0xffd9('0x42')]);var _0x46a89e={'where':_0x35282b['where']};return db[_0xffd9('0x2f')][_0xffd9('0x43')](_0x46a89e)[_0xffd9('0x26')](function(_0x4e4b87){_0x405a2e[_0xffd9('0x43')]=_0x4e4b87;if(_0x315ac3[_0xffd9('0x34')][_0xffd9('0x44')]){_0x35282b[_0xffd9('0x45')]=[{'all':!![]}];}return db[_0xffd9('0x2f')]['findAll'](_0x35282b);})['then'](function(_0x4ddca0){_0x405a2e[_0xffd9('0x46')]=_0x4ddca0;return _0x405a2e;})[_0xffd9('0x26')](respondWithFilteredResult(_0x4beea4,_0x35282b))['catch'](handleError(_0x4beea4,null));};exports[_0xffd9('0x47')]=function(_0x4ad748,_0x583e79){var _0x1e3a15={'raw':!![],'where':{'id':_0x4ad748[_0xffd9('0x48')]['id']}},_0x31d779={};_0x31d779['model']=_[_0xffd9('0x49')](db['Interval'][_0xffd9('0x4a')]);_0x31d779[_0xffd9('0x34')]=_['keys'](_0x4ad748[_0xffd9('0x34')]);_0x31d779[_0xffd9('0x35')]=_[_0xffd9('0x36')](_0x31d779[_0xffd9('0x37')],_0x31d779[_0xffd9('0x34')]);_0x1e3a15[_0xffd9('0x38')]=_[_0xffd9('0x36')](_0x31d779[_0xffd9('0x37')],qs['fields'](_0x4ad748[_0xffd9('0x34')]['fields']));_0x1e3a15[_0xffd9('0x38')]=_0x1e3a15['attributes'][_0xffd9('0x3a')]?_0x1e3a15['attributes']:_0x31d779['model'];if(_0x4ad748[_0xffd9('0x34')][_0xffd9('0x44')]){_0x1e3a15[_0xffd9('0x45')]=[{'all':!![]}];}_0x1e3a15=_[_0xffd9('0x3f')]({},_0x1e3a15,_0x4ad748[_0xffd9('0x42')]);return db[_0xffd9('0x2f')]['find'](_0x1e3a15)['then'](handleEntityNotFound(_0x583e79,null))[_0xffd9('0x26')](respondWithResult(_0x583e79,null))[_0xffd9('0x4b')](handleError(_0x583e79,null));};exports[_0xffd9('0x4c')]=function(_0xec9aac,_0x5f13db){return db[_0xffd9('0x2f')][_0xffd9('0x4c')](_0xec9aac[_0xffd9('0x4d')],{})[_0xffd9('0x26')](function(_0x206037){var _0xcfba67=_0xec9aac[_0xffd9('0x4e')][_0xffd9('0x28')]({'plain':!![]});if(!_0xcfba67)throw new Error(_0xffd9('0x4f'));if(_0xcfba67[_0xffd9('0x50')]===_0xffd9('0x4e')){var _0x564f1f=_0x206037[_0xffd9('0x28')]({'plain':!![]});var _0x3448ca='Intervals';return db['UserProfileSection'][_0xffd9('0x51')]({'where':{'name':_0x3448ca,'userProfileId':_0xcfba67['userProfileId']},'raw':!![]})[_0xffd9('0x26')](function(_0x322c14){if(_0x322c14&&_0x322c14[_0xffd9('0x52')]===0x0){return db[_0xffd9('0x29')]['create']({'name':_0x564f1f[_0xffd9('0x2c')],'resourceId':_0x564f1f['id'],'type':_0x322c14[_0xffd9('0x2c')],'sectionId':_0x322c14['id']},{})[_0xffd9('0x26')](function(){return _0x206037;});}else{return _0x206037;}})[_0xffd9('0x4b')](function(_0x120de9){logger[_0xffd9('0x2b')](_0xffd9('0x53'),_0x120de9);throw _0x120de9;});}return _0x206037;})[_0xffd9('0x26')](respondWithResult(_0x5f13db,0xc9))['catch'](handleError(_0x5f13db,null));};exports[_0xffd9('0x54')]=function(_0x42a992,_0x54abd9){if(_0x42a992[_0xffd9('0x4d')]['id']){delete _0x42a992[_0xffd9('0x4d')]['id'];}return db[_0xffd9('0x2f')][_0xffd9('0x51')]({'where':{'id':_0x42a992[_0xffd9('0x48')]['id']}})[_0xffd9('0x26')](handleEntityNotFound(_0x54abd9,null))['then'](saveUpdates(_0x42a992[_0xffd9('0x4d')],null))[_0xffd9('0x26')](respondWithResult(_0x54abd9,null))[_0xffd9('0x4b')](handleError(_0x54abd9,null));};exports['destroy']=function(_0xd9fb94,_0xc2399b){return db[_0xffd9('0x2f')][_0xffd9('0x51')]({'where':{'id':_0xd9fb94['params']['id']}})['then'](handleEntityNotFound(_0xc2399b,null))[_0xffd9('0x26')](removeEntity(_0xc2399b,null))['catch'](handleError(_0xc2399b,null));};exports[_0xffd9('0x55')]=function(_0x1cef4b,_0x21be13,_0x50b4a7){if(_0x1cef4b[_0xffd9('0x4d')]['id']){delete _0x1cef4b[_0xffd9('0x4d')]['id'];}return db[_0xffd9('0x2f')][_0xffd9('0x51')]({'where':{'id':_0x1cef4b[_0xffd9('0x48')]['id']}})['then'](handleEntityNotFound(_0x21be13,null))[_0xffd9('0x26')](function(_0xb22f04){if(_0xb22f04){_0x1cef4b[_0xffd9('0x4d')][_0xffd9('0x56')]=_0xb22f04['id'];return db[_0xffd9('0x2f')][_0xffd9('0x4c')](_0x1cef4b[_0xffd9('0x4d')]);}})[_0xffd9('0x26')](respondWithResult(_0x21be13,null))[_0xffd9('0x4b')](handleError(_0x21be13,null));};exports[_0xffd9('0x57')]=function(_0xbddd79,_0x11a7e5,_0x3a4322){var _0x44a00e={};var _0x20f5c4={};var _0x10cef2;var _0x415d17;return db[_0xffd9('0x2f')][_0xffd9('0x58')]({'where':{'id':_0xbddd79[_0xffd9('0x48')]['id']}})[_0xffd9('0x26')](handleEntityNotFound(_0x11a7e5,null))[_0xffd9('0x26')](function(_0x9b92a2){if(_0x9b92a2){_0x10cef2=_0x9b92a2;_0x20f5c4[_0xffd9('0x37')]=_[_0xffd9('0x49')](db[_0xffd9('0x2f')][_0xffd9('0x4a')]);_0x20f5c4[_0xffd9('0x34')]=_['keys'](_0xbddd79[_0xffd9('0x34')]);_0x20f5c4[_0xffd9('0x35')]=_[_0xffd9('0x36')](_0x20f5c4[_0xffd9('0x37')],_0x20f5c4[_0xffd9('0x34')]);_0x44a00e[_0xffd9('0x38')]=_[_0xffd9('0x36')](_0x20f5c4['model'],qs[_0xffd9('0x39')](_0xbddd79[_0xffd9('0x34')]['fields']));_0x44a00e['attributes']=_0x44a00e['attributes'][_0xffd9('0x3a')]?_0x44a00e[_0xffd9('0x38')]:_0x20f5c4[_0xffd9('0x37')];_0x44a00e[_0xffd9('0x3c')]=qs[_0xffd9('0x3d')](_0xbddd79[_0xffd9('0x34')][_0xffd9('0x3d')]);_0x44a00e[_0xffd9('0x3e')]=qs[_0xffd9('0x35')](_[_0xffd9('0x59')](_0xbddd79[_0xffd9('0x34')],_0x20f5c4['filters']));if(_0xbddd79[_0xffd9('0x34')][_0xffd9('0x41')]){_0x44a00e['where']=_['merge'](_0x44a00e['where'],{'$or':_[_0xffd9('0x33')](_0x44a00e[_0xffd9('0x38')],function(_0x2f7346){var _0x28e095={};_0x28e095[_0x2f7346]={'$like':'%'+_0xbddd79['query'][_0xffd9('0x41')]+'%'};return _0x28e095;})});}_0x44a00e=_['merge']({},_0x44a00e,_0xbddd79[_0xffd9('0x42')]);return _0x10cef2[_0xffd9('0x57')](_0x44a00e);}})[_0xffd9('0x26')](function(_0x1871c8){if(_0x1871c8){_0x415d17=_0x1871c8[_0xffd9('0x3a')];if(!_0xbddd79[_0xffd9('0x34')][_0xffd9('0x5a')](_0xffd9('0x3b'))){_0x44a00e[_0xffd9('0x20')]=qs[_0xffd9('0x20')](_0xbddd79['query'][_0xffd9('0x20')]);_0x44a00e['offset']=qs[_0xffd9('0x1e')](_0xbddd79['query'][_0xffd9('0x1e')]);}return _0x10cef2[_0xffd9('0x57')](_0x44a00e);}})['then'](function(_0x150b67){if(_0x150b67){return _0x150b67?{'count':_0x415d17,'rows':_0x150b67}:null;}})[_0xffd9('0x26')](respondWithResult(_0x11a7e5,null))[_0xffd9('0x4b')](handleError(_0x11a7e5,null));};exports[_0xffd9('0x5b')]=function(_0x5d77cf,_0x193b5a,_0x569fbb){return db[_0xffd9('0x2f')][_0xffd9('0x58')]({'where':{'id':_0x5d77cf[_0xffd9('0x48')]['id']}})[_0xffd9('0x26')](handleEntityNotFound(_0x193b5a,null))[_0xffd9('0x26')](function(_0x5cf847){if(_0x5cf847){return db[_0xffd9('0x5c')]['transaction'](function(_0x5497d1){return db[_0xffd9('0x2f')][_0xffd9('0x27')]({'where':{'IntervalId':_0x5d77cf['params']['id']},'transaction':_0x5497d1})[_0xffd9('0x26')](function(_0x1088b8){var _0x21f00c=_[_0xffd9('0x33')](_0x5d77cf[_0xffd9('0x4d')],function(_0x40cef4){delete _0x40cef4['id'];_0x40cef4[_0xffd9('0x56')]=_0x5d77cf[_0xffd9('0x48')]['id'];return _0x40cef4;});return db[_0xffd9('0x2f')][_0xffd9('0x5d')](_0x21f00c,{'transaction':_0x5497d1});});})[_0xffd9('0x26')](function(){return db['Interval'][_0xffd9('0x5e')]({'where':{'IntervalId':_0x5d77cf[_0xffd9('0x48')]['id']}});});}})['then'](respondWithResult(_0x193b5a,null))[_0xffd9('0x4b')](handleError(_0x193b5a,null));};