Built motion from commit (unavailable).|2.5.11
[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 _0xe70e=['jsforce','querystring','papaparse','../../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','status','json','offset','limit','set','Content-Range','save','update','then','destroy','Intervals','UserProfileResource','end','sendStatus','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','keys','query','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','filters','merge','options','Interval','count','includeAll','findAll','rows','show','params','include','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','IntervalId','getIntervals','findOne','pick','filter','nolimit','addIntervals','bulkCreate','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto'];(function(_0x2dea24,_0x2fc021){var _0x309d58=function(_0x2eb89f){while(--_0x2eb89f){_0x2dea24['push'](_0x2dea24['shift']());}};_0x309d58(++_0x2fc021);}(_0xe70e,0xab));var _0xee70=function(_0x1d6eb4,_0x2a20d7){_0x1d6eb4=_0x1d6eb4-0x0;var _0x1277f0=_0xe70e[_0x1d6eb4];return _0x1277f0;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xee70('0x0'));var zipdir=require(_0xee70('0x1'));var jsonpatch=require(_0xee70('0x2'));var rp=require(_0xee70('0x3'));var moment=require(_0xee70('0x4'));var BPromise=require(_0xee70('0x5'));var Mustache=require(_0xee70('0x6'));var util=require(_0xee70('0x7'));var path=require(_0xee70('0x8'));var sox=require(_0xee70('0x9'));var csv=require(_0xee70('0xa'));var ejs=require(_0xee70('0xb'));var fs=require('fs');var _=require(_0xee70('0xc'));var squel=require(_0xee70('0xd'));var crypto=require(_0xee70('0xe'));var jsforce=require(_0xee70('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xee70('0x10'));var Papa=require(_0xee70('0x11'));var Redis=require('ioredis');var authService=require(_0xee70('0x12'));var qs=require(_0xee70('0x13'));var as=require(_0xee70('0x14'));var hardwareService=require(_0xee70('0x15'));var logger=require(_0xee70('0x16'))(_0xee70('0x17'));var utils=require(_0xee70('0x18'));var config=require(_0xee70('0x19'));var licenseUtil=require(_0xee70('0x1a'));var db=require('../../mysqldb')['db'];var extensions=require(_0xee70('0x1b'));function respondWithStatusCode(_0x20fe35,_0x2689de){_0x2689de=_0x2689de||0xcc;return function(_0x1dac19){if(_0x1dac19){return _0x20fe35['sendStatus'](_0x2689de);}return _0x20fe35['status'](_0x2689de)['end']();};}function respondWithResult(_0x44f932,_0x4a31aa){_0x4a31aa=_0x4a31aa||0xc8;return function(_0x205960){if(_0x205960){return _0x44f932[_0xee70('0x1c')](_0x4a31aa)[_0xee70('0x1d')](_0x205960);}};}function respondWithFilteredResult(_0x3bc559,_0x3c35b9){return function(_0x41d9ef){if(_0x41d9ef){var _0x5c681e=_0x41d9ef['count'],_0x3e4a2c=_0x3c35b9[_0xee70('0x1e')],_0x119949=_0x3c35b9[_0xee70('0x1e')]+_0x3c35b9[_0xee70('0x1f')],_0xb485fc;if(_0x119949>=_0x5c681e){_0x119949=_0x5c681e;_0xb485fc=0xc8;}else{_0xb485fc=0xce;}_0x3bc559[_0xee70('0x1c')](_0xb485fc);return _0x3bc559[_0xee70('0x20')](_0xee70('0x21'),_0x3e4a2c+'-'+_0x119949+'/'+_0x5c681e)[_0xee70('0x1d')](_0x41d9ef);}return null;};}function patchUpdates(_0x50b8dc){return function(_0x3501dd){try{jsonpatch['apply'](_0x3501dd,_0x50b8dc,!![]);}catch(_0x54db0e){return BPromise['reject'](_0x54db0e);}return _0x3501dd[_0xee70('0x22')]();};}function saveUpdates(_0x5d14ca,_0x5b4758){return function(_0x5d0411){if(_0x5d0411){return _0x5d0411[_0xee70('0x23')](_0x5d14ca)[_0xee70('0x24')](function(_0x3da91e){return _0x3da91e;});}return null;};}function removeEntity(_0x1908bd,_0x36b610){return function(_0x3ac1e4){if(_0x3ac1e4){return _0x3ac1e4[_0xee70('0x25')]()['then'](function(){var _0x4d3d97=_0x3ac1e4['get']({'plain':!![]});var _0x126aec=_0xee70('0x26');return db[_0xee70('0x27')][_0xee70('0x25')]({'where':{'type':_0x126aec,'resourceId':_0x4d3d97['id']}})['then'](function(){return _0x3ac1e4;});})[_0xee70('0x24')](function(){_0x1908bd[_0xee70('0x1c')](0xcc)[_0xee70('0x28')]();});}};}function handleEntityNotFound(_0x4290cd,_0x3f6a34){return function(_0x1ffc30){if(!_0x1ffc30){_0x4290cd[_0xee70('0x29')](0x194);}return _0x1ffc30;};}function handleError(_0x12388b,_0x542485){_0x542485=_0x542485||0x1f4;return function(_0x3a4f7c){logger[_0xee70('0x2a')](_0x3a4f7c[_0xee70('0x2b')]);if(_0x3a4f7c[_0xee70('0x2c')]){delete _0x3a4f7c[_0xee70('0x2c')];}_0x12388b[_0xee70('0x1c')](_0x542485)['send'](_0x3a4f7c);};}exports[_0xee70('0x2d')]=function(_0x561e24,_0x392fcb){var _0x3cf226={},_0x20c6e3={},_0xa5990c={'count':0x0,'rows':[]};var _0x1b2411=_[_0xee70('0x2e')](db['Interval'][_0xee70('0x2f')],function(_0x55eed1){return{'name':_0x55eed1[_0xee70('0x30')],'type':_0x55eed1[_0xee70('0x31')][_0xee70('0x32')]};});_0x20c6e3[_0xee70('0x33')]=_[_0xee70('0x2e')](_0x1b2411,'name');_0x20c6e3['query']=_[_0xee70('0x34')](_0x561e24[_0xee70('0x35')]);_0x20c6e3['filters']=_['intersection'](_0x20c6e3['model'],_0x20c6e3['query']);_0x3cf226[_0xee70('0x36')]=_[_0xee70('0x37')](_0x20c6e3[_0xee70('0x33')],qs[_0xee70('0x38')](_0x561e24[_0xee70('0x35')]['fields']));_0x3cf226[_0xee70('0x36')]=_0x3cf226[_0xee70('0x36')][_0xee70('0x39')]?_0x3cf226['attributes']:_0x20c6e3[_0xee70('0x33')];if(!_0x561e24['query'][_0xee70('0x3a')]('nolimit')){_0x3cf226[_0xee70('0x1f')]=qs[_0xee70('0x1f')](_0x561e24[_0xee70('0x35')]['limit']);_0x3cf226[_0xee70('0x1e')]=qs[_0xee70('0x1e')](_0x561e24[_0xee70('0x35')][_0xee70('0x1e')]);}_0x3cf226[_0xee70('0x3b')]=qs[_0xee70('0x3c')](_0x561e24[_0xee70('0x35')]['sort']);_0x3cf226[_0xee70('0x3d')]=qs[_0xee70('0x3e')](_['pick'](_0x561e24[_0xee70('0x35')],_0x20c6e3[_0xee70('0x3e')]),_0x1b2411);if(_0x561e24[_0xee70('0x35')]['filter']){_0x3cf226[_0xee70('0x3d')]=_['merge'](_0x3cf226['where'],{'$or':_[_0xee70('0x2e')](_0x1b2411,function(_0x351dd1){if(_0x351dd1[_0xee70('0x31')]!=='VIRTUAL'){var _0x3c1f40={};_0x3c1f40[_0x351dd1['name']]={'$like':'%'+_0x561e24[_0xee70('0x35')]['filter']+'%'};return _0x3c1f40;}})});}_0x3cf226=_[_0xee70('0x3f')]({},_0x3cf226,_0x561e24[_0xee70('0x40')]);var _0x5c9b83={'where':_0x3cf226[_0xee70('0x3d')]};return db[_0xee70('0x41')][_0xee70('0x42')](_0x5c9b83)[_0xee70('0x24')](function(_0x2731a2){_0xa5990c[_0xee70('0x42')]=_0x2731a2;if(_0x561e24[_0xee70('0x35')][_0xee70('0x43')]){_0x3cf226['include']=[{'all':!![]}];}return db[_0xee70('0x41')][_0xee70('0x44')](_0x3cf226);})[_0xee70('0x24')](function(_0x333f7d){_0xa5990c[_0xee70('0x45')]=_0x333f7d;return _0xa5990c;})[_0xee70('0x24')](respondWithFilteredResult(_0x392fcb,_0x3cf226))['catch'](handleError(_0x392fcb,null));};exports[_0xee70('0x46')]=function(_0x200c3d,_0x21ffbf){var _0x1902f4={'raw':!![],'where':{'id':_0x200c3d[_0xee70('0x47')]['id']}},_0x3fa70e={};_0x3fa70e['model']=_['keys'](db['Interval']['rawAttributes']);_0x3fa70e[_0xee70('0x35')]=_[_0xee70('0x34')](_0x200c3d[_0xee70('0x35')]);_0x3fa70e[_0xee70('0x3e')]=_['intersection'](_0x3fa70e[_0xee70('0x33')],_0x3fa70e['query']);_0x1902f4[_0xee70('0x36')]=_['intersection'](_0x3fa70e[_0xee70('0x33')],qs[_0xee70('0x38')](_0x200c3d[_0xee70('0x35')][_0xee70('0x38')]));_0x1902f4['attributes']=_0x1902f4['attributes'][_0xee70('0x39')]?_0x1902f4['attributes']:_0x3fa70e[_0xee70('0x33')];if(_0x200c3d['query']['includeAll']){_0x1902f4[_0xee70('0x48')]=[{'all':!![]}];}_0x1902f4=_[_0xee70('0x3f')]({},_0x1902f4,_0x200c3d['options']);return db[_0xee70('0x41')][_0xee70('0x49')](_0x1902f4)[_0xee70('0x24')](handleEntityNotFound(_0x21ffbf,null))[_0xee70('0x24')](respondWithResult(_0x21ffbf,null))[_0xee70('0x4a')](handleError(_0x21ffbf,null));};exports[_0xee70('0x4b')]=function(_0x4a7b44,_0x558b71){return db['Interval'][_0xee70('0x4b')](_0x4a7b44[_0xee70('0x4c')],{})[_0xee70('0x24')](function(_0x2fecfa){var _0x159138=_0x4a7b44[_0xee70('0x4d')][_0xee70('0x4e')]({'plain':!![]});if(!_0x159138)throw new Error(_0xee70('0x4f'));if(_0x159138[_0xee70('0x50')]===_0xee70('0x4d')){var _0x13cf00=_0x2fecfa['get']({'plain':!![]});var _0x45eab5=_0xee70('0x26');return db[_0xee70('0x51')]['find']({'where':{'name':_0x45eab5,'userProfileId':_0x159138[_0xee70('0x52')]},'raw':!![]})['then'](function(_0x4882f6){if(_0x4882f6&&_0x4882f6[_0xee70('0x53')]===0x0){return db['UserProfileResource'][_0xee70('0x4b')]({'name':_0x13cf00[_0xee70('0x2c')],'resourceId':_0x13cf00['id'],'type':_0x4882f6[_0xee70('0x2c')],'sectionId':_0x4882f6['id']},{})[_0xee70('0x24')](function(){return _0x2fecfa;});}else{return _0x2fecfa;}})[_0xee70('0x4a')](function(_0x4817dd){logger[_0xee70('0x2a')](_0xee70('0x54'),_0x4817dd);throw _0x4817dd;});}return _0x2fecfa;})[_0xee70('0x24')](respondWithResult(_0x558b71,0xc9))[_0xee70('0x4a')](handleError(_0x558b71,null));};exports[_0xee70('0x23')]=function(_0x18de4e,_0x50384f){if(_0x18de4e['body']['id']){delete _0x18de4e[_0xee70('0x4c')]['id'];}return db[_0xee70('0x41')][_0xee70('0x49')]({'where':{'id':_0x18de4e[_0xee70('0x47')]['id']}})[_0xee70('0x24')](handleEntityNotFound(_0x50384f,null))[_0xee70('0x24')](saveUpdates(_0x18de4e[_0xee70('0x4c')],null))[_0xee70('0x24')](respondWithResult(_0x50384f,null))[_0xee70('0x4a')](handleError(_0x50384f,null));};exports[_0xee70('0x25')]=function(_0x2cc396,_0x4f9a65){return db[_0xee70('0x41')]['find']({'where':{'id':_0x2cc396[_0xee70('0x47')]['id']}})['then'](handleEntityNotFound(_0x4f9a65,null))['then'](removeEntity(_0x4f9a65,null))[_0xee70('0x4a')](handleError(_0x4f9a65,null));};exports['addInterval']=function(_0x476582,_0x38af93,_0xe6e611){if(_0x476582[_0xee70('0x4c')]['id']){delete _0x476582[_0xee70('0x4c')]['id'];}return db['Interval'][_0xee70('0x49')]({'where':{'id':_0x476582[_0xee70('0x47')]['id']}})[_0xee70('0x24')](handleEntityNotFound(_0x38af93,null))[_0xee70('0x24')](function(_0x5ea22f){if(_0x5ea22f){_0x476582['body'][_0xee70('0x55')]=_0x5ea22f['id'];return db['Interval'][_0xee70('0x4b')](_0x476582[_0xee70('0x4c')]);}})[_0xee70('0x24')](respondWithResult(_0x38af93,null))['catch'](handleError(_0x38af93,null));};exports[_0xee70('0x56')]=function(_0x49ace1,_0x3f4433,_0xc04916){var _0x4831d7={};var _0x59071c={};var _0x491320;var _0xe749f2;return db[_0xee70('0x41')][_0xee70('0x57')]({'where':{'id':_0x49ace1[_0xee70('0x47')]['id']}})[_0xee70('0x24')](handleEntityNotFound(_0x3f4433,null))['then'](function(_0x172cfb){if(_0x172cfb){_0x491320=_0x172cfb;_0x59071c[_0xee70('0x33')]=_['keys'](db[_0xee70('0x41')]['rawAttributes']);_0x59071c[_0xee70('0x35')]=_['keys'](_0x49ace1[_0xee70('0x35')]);_0x59071c[_0xee70('0x3e')]=_[_0xee70('0x37')](_0x59071c['model'],_0x59071c[_0xee70('0x35')]);_0x4831d7[_0xee70('0x36')]=_[_0xee70('0x37')](_0x59071c[_0xee70('0x33')],qs['fields'](_0x49ace1[_0xee70('0x35')][_0xee70('0x38')]));_0x4831d7['attributes']=_0x4831d7[_0xee70('0x36')]['length']?_0x4831d7[_0xee70('0x36')]:_0x59071c[_0xee70('0x33')];_0x4831d7[_0xee70('0x3b')]=qs[_0xee70('0x3c')](_0x49ace1[_0xee70('0x35')][_0xee70('0x3c')]);_0x4831d7[_0xee70('0x3d')]=qs[_0xee70('0x3e')](_[_0xee70('0x58')](_0x49ace1[_0xee70('0x35')],_0x59071c[_0xee70('0x3e')]));if(_0x49ace1['query'][_0xee70('0x59')]){_0x4831d7[_0xee70('0x3d')]=_[_0xee70('0x3f')](_0x4831d7[_0xee70('0x3d')],{'$or':_[_0xee70('0x2e')](_0x4831d7[_0xee70('0x36')],function(_0x33caa6){var _0x13c848={};_0x13c848[_0x33caa6]={'$like':'%'+_0x49ace1[_0xee70('0x35')][_0xee70('0x59')]+'%'};return _0x13c848;})});}_0x4831d7=_[_0xee70('0x3f')]({},_0x4831d7,_0x49ace1[_0xee70('0x40')]);return _0x491320[_0xee70('0x56')](_0x4831d7);}})[_0xee70('0x24')](function(_0x43bfa4){if(_0x43bfa4){_0xe749f2=_0x43bfa4['length'];if(!_0x49ace1['query'][_0xee70('0x3a')](_0xee70('0x5a'))){_0x4831d7['limit']=qs[_0xee70('0x1f')](_0x49ace1[_0xee70('0x35')][_0xee70('0x1f')]);_0x4831d7[_0xee70('0x1e')]=qs[_0xee70('0x1e')](_0x49ace1[_0xee70('0x35')][_0xee70('0x1e')]);}return _0x491320['getIntervals'](_0x4831d7);}})[_0xee70('0x24')](function(_0x541d0f){if(_0x541d0f){return _0x541d0f?{'count':_0xe749f2,'rows':_0x541d0f}:null;}})['then'](respondWithResult(_0x3f4433,null))[_0xee70('0x4a')](handleError(_0x3f4433,null));};exports[_0xee70('0x5b')]=function(_0x2baa5b,_0x41be3a,_0x510044){return db[_0xee70('0x41')][_0xee70('0x57')]({'where':{'id':_0x2baa5b[_0xee70('0x47')]['id']}})['then'](handleEntityNotFound(_0x41be3a,null))[_0xee70('0x24')](function(_0x4563c8){if(_0x4563c8){return db['sequelize']['transaction'](function(_0x45f202){return db[_0xee70('0x41')][_0xee70('0x25')]({'where':{'IntervalId':_0x2baa5b[_0xee70('0x47')]['id']},'transaction':_0x45f202})[_0xee70('0x24')](function(_0x1e8c2d){var _0x200932=_['map'](_0x2baa5b['body'],function(_0x3e6ee7){delete _0x3e6ee7['id'];_0x3e6ee7['IntervalId']=_0x2baa5b[_0xee70('0x47')]['id'];return _0x3e6ee7;});return db['Interval'][_0xee70('0x5c')](_0x200932,{'transaction':_0x45f202});});})[_0xee70('0x24')](function(){return db[_0xee70('0x41')][_0xee70('0x44')]({'where':{'IntervalId':_0x2baa5b[_0xee70('0x47')]['id']}});});}})[_0xee70('0x24')](respondWithResult(_0x41be3a,null))[_0xee70('0x4a')](handleError(_0x41be3a,null));};