Built motion from commit (unavailable).|2.5.22
[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 _0x3ebc=['name','send','index','Interval','rawAttributes','type','model','map','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','merge','where','VIRTUAL','options','findAll','catch','show','intersection','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','IntervalId','getIntervals','order','pick','addIntervals','findOne','sequelize','bulkCreate','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','apply','reject','save','update','then','destroy','get','Intervals','UserProfileResource','error','stack'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x3ebc,0x85));var _0xc3eb=function(_0x1056e7,_0x12296f){_0x1056e7=_0x1056e7-0x0;var _0x55b3c2=_0x3ebc[_0x1056e7];return _0x55b3c2;};'use strict';var pdf=require(_0xc3eb('0x0'));var emlformat=require(_0xc3eb('0x1'));var rimraf=require(_0xc3eb('0x2'));var zipdir=require(_0xc3eb('0x3'));var jsonpatch=require(_0xc3eb('0x4'));var rp=require(_0xc3eb('0x5'));var moment=require(_0xc3eb('0x6'));var BPromise=require(_0xc3eb('0x7'));var Mustache=require(_0xc3eb('0x8'));var util=require(_0xc3eb('0x9'));var path=require(_0xc3eb('0xa'));var sox=require('sox');var csv=require(_0xc3eb('0xb'));var ejs=require(_0xc3eb('0xc'));var fs=require('fs');var _=require(_0xc3eb('0xd'));var squel=require('squel');var crypto=require(_0xc3eb('0xe'));var jsforce=require(_0xc3eb('0xf'));var deskjs=require(_0xc3eb('0x10'));var toCsv=require('to-csv');var querystring=require(_0xc3eb('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xc3eb('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc3eb('0x13'));var logger=require('../../config/logger')(_0xc3eb('0x14'));var utils=require(_0xc3eb('0x15'));var config=require(_0xc3eb('0x16'));var licenseUtil=require(_0xc3eb('0x17'));var db=require(_0xc3eb('0x18'))['db'];var extensions=require('../../components/extensions/rewrite');function respondWithStatusCode(_0x42a029,_0x36027c){_0x36027c=_0x36027c||0xcc;return function(_0x1d1a50){if(_0x1d1a50){return _0x42a029[_0xc3eb('0x19')](_0x36027c);}return _0x42a029[_0xc3eb('0x1a')](_0x36027c)[_0xc3eb('0x1b')]();};}function respondWithResult(_0x49f07d,_0x5de5d2){_0x5de5d2=_0x5de5d2||0xc8;return function(_0x1fcea9){if(_0x1fcea9){return _0x49f07d[_0xc3eb('0x1a')](_0x5de5d2)[_0xc3eb('0x1c')](_0x1fcea9);}};}function respondWithFilteredResult(_0x3c17ab,_0x4e6199){return function(_0x5b5ebc){if(_0x5b5ebc){var _0x5ac71c=_0x5b5ebc[_0xc3eb('0x1d')],_0x36f499=_0x4e6199[_0xc3eb('0x1e')],_0x590033=_0x4e6199[_0xc3eb('0x1e')]+_0x4e6199[_0xc3eb('0x1f')],_0x4cbc1e;if(_0x590033>=_0x5ac71c){_0x590033=_0x5ac71c;_0x4cbc1e=0xc8;}else{_0x4cbc1e=0xce;}_0x3c17ab[_0xc3eb('0x1a')](_0x4cbc1e);return _0x3c17ab['set']('Content-Range',_0x36f499+'-'+_0x590033+'/'+_0x5ac71c)['json'](_0x5b5ebc);}return null;};}function patchUpdates(_0x53192a){return function(_0x10ce2e){try{jsonpatch[_0xc3eb('0x20')](_0x10ce2e,_0x53192a,!![]);}catch(_0x31a130){return BPromise[_0xc3eb('0x21')](_0x31a130);}return _0x10ce2e[_0xc3eb('0x22')]();};}function saveUpdates(_0x3de0f9,_0x131bd4){return function(_0x561e3e){if(_0x561e3e){return _0x561e3e[_0xc3eb('0x23')](_0x3de0f9)[_0xc3eb('0x24')](function(_0x298382){return _0x298382;});}return null;};}function removeEntity(_0x341b6a,_0x3185bd){return function(_0x430946){if(_0x430946){return _0x430946[_0xc3eb('0x25')]()[_0xc3eb('0x24')](function(){var _0x5f0acd=_0x430946[_0xc3eb('0x26')]({'plain':!![]});var _0x250ea7=_0xc3eb('0x27');return db[_0xc3eb('0x28')][_0xc3eb('0x25')]({'where':{'type':_0x250ea7,'resourceId':_0x5f0acd['id']}})[_0xc3eb('0x24')](function(){return _0x430946;});})['then'](function(){_0x341b6a[_0xc3eb('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x995c6f,_0xa452c6){return function(_0x25c2c9){if(!_0x25c2c9){_0x995c6f[_0xc3eb('0x19')](0x194);}return _0x25c2c9;};}function handleError(_0x5e9e11,_0x23bd98){_0x23bd98=_0x23bd98||0x1f4;return function(_0x4a6cdd){logger[_0xc3eb('0x29')](_0x4a6cdd[_0xc3eb('0x2a')]);if(_0x4a6cdd[_0xc3eb('0x2b')]){delete _0x4a6cdd[_0xc3eb('0x2b')];}_0x5e9e11['status'](_0x23bd98)[_0xc3eb('0x2c')](_0x4a6cdd);};}exports[_0xc3eb('0x2d')]=function(_0x5b096e,_0x32e0c6){var _0x25f603={},_0xffbe2b={},_0x4e82d2={'count':0x0,'rows':[]};var _0x1df5ac=_['map'](db[_0xc3eb('0x2e')][_0xc3eb('0x2f')],function(_0x23dce5){return{'name':_0x23dce5['fieldName'],'type':_0x23dce5[_0xc3eb('0x30')]['key']};});_0xffbe2b[_0xc3eb('0x31')]=_[_0xc3eb('0x32')](_0x1df5ac,_0xc3eb('0x2b'));_0xffbe2b['query']=_[_0xc3eb('0x33')](_0x5b096e[_0xc3eb('0x34')]);_0xffbe2b[_0xc3eb('0x35')]=_['intersection'](_0xffbe2b['model'],_0xffbe2b[_0xc3eb('0x34')]);_0x25f603[_0xc3eb('0x36')]=_['intersection'](_0xffbe2b[_0xc3eb('0x31')],qs['fields'](_0x5b096e[_0xc3eb('0x34')][_0xc3eb('0x37')]));_0x25f603['attributes']=_0x25f603[_0xc3eb('0x36')][_0xc3eb('0x38')]?_0x25f603['attributes']:_0xffbe2b['model'];if(!_0x5b096e[_0xc3eb('0x34')][_0xc3eb('0x39')](_0xc3eb('0x3a'))){_0x25f603['limit']=qs[_0xc3eb('0x1f')](_0x5b096e[_0xc3eb('0x34')][_0xc3eb('0x1f')]);_0x25f603[_0xc3eb('0x1e')]=qs[_0xc3eb('0x1e')](_0x5b096e[_0xc3eb('0x34')][_0xc3eb('0x1e')]);}_0x25f603['order']=qs[_0xc3eb('0x3b')](_0x5b096e[_0xc3eb('0x34')][_0xc3eb('0x3b')]);_0x25f603['where']=qs[_0xc3eb('0x35')](_['pick'](_0x5b096e[_0xc3eb('0x34')],_0xffbe2b['filters']),_0x1df5ac);if(_0x5b096e[_0xc3eb('0x34')][_0xc3eb('0x3c')]){_0x25f603['where']=_[_0xc3eb('0x3d')](_0x25f603[_0xc3eb('0x3e')],{'$or':_[_0xc3eb('0x32')](_0x1df5ac,function(_0x350fe0){if(_0x350fe0[_0xc3eb('0x30')]!==_0xc3eb('0x3f')){var _0x42e3fe={};_0x42e3fe[_0x350fe0[_0xc3eb('0x2b')]]={'$like':'%'+_0x5b096e['query'][_0xc3eb('0x3c')]+'%'};return _0x42e3fe;}})});}_0x25f603=_[_0xc3eb('0x3d')]({},_0x25f603,_0x5b096e[_0xc3eb('0x40')]);var _0x12a814={'where':_0x25f603['where']};return db[_0xc3eb('0x2e')][_0xc3eb('0x1d')](_0x12a814)[_0xc3eb('0x24')](function(_0x1bc9e2){_0x4e82d2[_0xc3eb('0x1d')]=_0x1bc9e2;if(_0x5b096e[_0xc3eb('0x34')]['includeAll']){_0x25f603['include']=[{'all':!![]}];}return db[_0xc3eb('0x2e')][_0xc3eb('0x41')](_0x25f603);})[_0xc3eb('0x24')](function(_0x5cc120){_0x4e82d2['rows']=_0x5cc120;return _0x4e82d2;})['then'](respondWithFilteredResult(_0x32e0c6,_0x25f603))[_0xc3eb('0x42')](handleError(_0x32e0c6,null));};exports[_0xc3eb('0x43')]=function(_0x122be6,_0x46899f){var _0x1a126c={'raw':!![],'where':{'id':_0x122be6['params']['id']}},_0x1c310b={};_0x1c310b[_0xc3eb('0x31')]=_[_0xc3eb('0x33')](db[_0xc3eb('0x2e')][_0xc3eb('0x2f')]);_0x1c310b[_0xc3eb('0x34')]=_[_0xc3eb('0x33')](_0x122be6[_0xc3eb('0x34')]);_0x1c310b['filters']=_['intersection'](_0x1c310b[_0xc3eb('0x31')],_0x1c310b[_0xc3eb('0x34')]);_0x1a126c[_0xc3eb('0x36')]=_[_0xc3eb('0x44')](_0x1c310b['model'],qs[_0xc3eb('0x37')](_0x122be6[_0xc3eb('0x34')][_0xc3eb('0x37')]));_0x1a126c['attributes']=_0x1a126c[_0xc3eb('0x36')]['length']?_0x1a126c[_0xc3eb('0x36')]:_0x1c310b[_0xc3eb('0x31')];if(_0x122be6[_0xc3eb('0x34')][_0xc3eb('0x45')]){_0x1a126c['include']=[{'all':!![]}];}_0x1a126c=_['merge']({},_0x1a126c,_0x122be6[_0xc3eb('0x40')]);return db[_0xc3eb('0x2e')][_0xc3eb('0x46')](_0x1a126c)['then'](handleEntityNotFound(_0x46899f,null))[_0xc3eb('0x24')](respondWithResult(_0x46899f,null))['catch'](handleError(_0x46899f,null));};exports[_0xc3eb('0x47')]=function(_0x12026d,_0x106785){return db[_0xc3eb('0x2e')][_0xc3eb('0x47')](_0x12026d[_0xc3eb('0x48')],{})[_0xc3eb('0x24')](function(_0x3f2d13){var _0x5667f8=_0x12026d[_0xc3eb('0x49')][_0xc3eb('0x26')]({'plain':!![]});if(!_0x5667f8)throw new Error(_0xc3eb('0x4a'));if(_0x5667f8[_0xc3eb('0x4b')]===_0xc3eb('0x49')){var _0x1785f9=_0x3f2d13[_0xc3eb('0x26')]({'plain':!![]});var _0x142019='Intervals';return db[_0xc3eb('0x4c')][_0xc3eb('0x46')]({'where':{'name':_0x142019,'userProfileId':_0x5667f8['userProfileId']},'raw':!![]})[_0xc3eb('0x24')](function(_0x1187fa){if(_0x1187fa&&_0x1187fa[_0xc3eb('0x4d')]===0x0){return db[_0xc3eb('0x28')][_0xc3eb('0x47')]({'name':_0x1785f9[_0xc3eb('0x2b')],'resourceId':_0x1785f9['id'],'type':_0x1187fa[_0xc3eb('0x2b')],'sectionId':_0x1187fa['id']},{})['then'](function(){return _0x3f2d13;});}else{return _0x3f2d13;}})['catch'](function(_0x540cc1){logger[_0xc3eb('0x29')](_0xc3eb('0x4e'),_0x540cc1);throw _0x540cc1;});}return _0x3f2d13;})['then'](respondWithResult(_0x106785,0xc9))[_0xc3eb('0x42')](handleError(_0x106785,null));};exports[_0xc3eb('0x23')]=function(_0x16c356,_0x5be624){if(_0x16c356[_0xc3eb('0x48')]['id']){delete _0x16c356[_0xc3eb('0x48')]['id'];}return db[_0xc3eb('0x2e')][_0xc3eb('0x46')]({'where':{'id':_0x16c356['params']['id']}})[_0xc3eb('0x24')](handleEntityNotFound(_0x5be624,null))[_0xc3eb('0x24')](saveUpdates(_0x16c356['body'],null))[_0xc3eb('0x24')](respondWithResult(_0x5be624,null))[_0xc3eb('0x42')](handleError(_0x5be624,null));};exports[_0xc3eb('0x25')]=function(_0x3daa31,_0x3d63ce){return db[_0xc3eb('0x2e')][_0xc3eb('0x46')]({'where':{'id':_0x3daa31[_0xc3eb('0x4f')]['id']}})[_0xc3eb('0x24')](handleEntityNotFound(_0x3d63ce,null))[_0xc3eb('0x24')](removeEntity(_0x3d63ce,null))['catch'](handleError(_0x3d63ce,null));};exports['addInterval']=function(_0x47ef5b,_0x38964a,_0xc4c0c2){if(_0x47ef5b[_0xc3eb('0x48')]['id']){delete _0x47ef5b['body']['id'];}return db['Interval'][_0xc3eb('0x46')]({'where':{'id':_0x47ef5b[_0xc3eb('0x4f')]['id']}})[_0xc3eb('0x24')](handleEntityNotFound(_0x38964a,null))['then'](function(_0x1a50b5){if(_0x1a50b5){_0x47ef5b['body'][_0xc3eb('0x50')]=_0x1a50b5['id'];return db[_0xc3eb('0x2e')][_0xc3eb('0x47')](_0x47ef5b[_0xc3eb('0x48')]);}})[_0xc3eb('0x24')](respondWithResult(_0x38964a,null))[_0xc3eb('0x42')](handleError(_0x38964a,null));};exports[_0xc3eb('0x51')]=function(_0x155ea8,_0x238cda,_0x4615ca){var _0x4f78df={};var _0x128ba2={};var _0x5e6103;var _0x2957ff;return db['Interval']['findOne']({'where':{'id':_0x155ea8[_0xc3eb('0x4f')]['id']}})[_0xc3eb('0x24')](handleEntityNotFound(_0x238cda,null))[_0xc3eb('0x24')](function(_0x47b826){if(_0x47b826){_0x5e6103=_0x47b826;_0x128ba2[_0xc3eb('0x31')]=_[_0xc3eb('0x33')](db[_0xc3eb('0x2e')][_0xc3eb('0x2f')]);_0x128ba2[_0xc3eb('0x34')]=_[_0xc3eb('0x33')](_0x155ea8[_0xc3eb('0x34')]);_0x128ba2[_0xc3eb('0x35')]=_[_0xc3eb('0x44')](_0x128ba2['model'],_0x128ba2[_0xc3eb('0x34')]);_0x4f78df[_0xc3eb('0x36')]=_['intersection'](_0x128ba2[_0xc3eb('0x31')],qs[_0xc3eb('0x37')](_0x155ea8[_0xc3eb('0x34')][_0xc3eb('0x37')]));_0x4f78df[_0xc3eb('0x36')]=_0x4f78df[_0xc3eb('0x36')][_0xc3eb('0x38')]?_0x4f78df['attributes']:_0x128ba2[_0xc3eb('0x31')];_0x4f78df[_0xc3eb('0x52')]=qs['sort'](_0x155ea8[_0xc3eb('0x34')][_0xc3eb('0x3b')]);_0x4f78df[_0xc3eb('0x3e')]=qs['filters'](_[_0xc3eb('0x53')](_0x155ea8[_0xc3eb('0x34')],_0x128ba2[_0xc3eb('0x35')]));if(_0x155ea8[_0xc3eb('0x34')][_0xc3eb('0x3c')]){_0x4f78df[_0xc3eb('0x3e')]=_[_0xc3eb('0x3d')](_0x4f78df[_0xc3eb('0x3e')],{'$or':_[_0xc3eb('0x32')](_0x4f78df[_0xc3eb('0x36')],function(_0xcc191){var _0x5504e8={};_0x5504e8[_0xcc191]={'$like':'%'+_0x155ea8[_0xc3eb('0x34')][_0xc3eb('0x3c')]+'%'};return _0x5504e8;})});}_0x4f78df=_[_0xc3eb('0x3d')]({},_0x4f78df,_0x155ea8[_0xc3eb('0x40')]);return _0x5e6103['getIntervals'](_0x4f78df);}})[_0xc3eb('0x24')](function(_0x538178){if(_0x538178){_0x2957ff=_0x538178[_0xc3eb('0x38')];if(!_0x155ea8['query'][_0xc3eb('0x39')]('nolimit')){_0x4f78df[_0xc3eb('0x1f')]=qs[_0xc3eb('0x1f')](_0x155ea8[_0xc3eb('0x34')][_0xc3eb('0x1f')]);_0x4f78df[_0xc3eb('0x1e')]=qs[_0xc3eb('0x1e')](_0x155ea8['query'][_0xc3eb('0x1e')]);}return _0x5e6103[_0xc3eb('0x51')](_0x4f78df);}})['then'](function(_0xedae6d){if(_0xedae6d){return _0xedae6d?{'count':_0x2957ff,'rows':_0xedae6d}:null;}})[_0xc3eb('0x24')](respondWithResult(_0x238cda,null))[_0xc3eb('0x42')](handleError(_0x238cda,null));};exports[_0xc3eb('0x54')]=function(_0x4d87f7,_0x5b61ec,_0x52c27f){return db[_0xc3eb('0x2e')][_0xc3eb('0x55')]({'where':{'id':_0x4d87f7[_0xc3eb('0x4f')]['id']}})[_0xc3eb('0x24')](handleEntityNotFound(_0x5b61ec,null))[_0xc3eb('0x24')](function(_0xd545f8){if(_0xd545f8){return db[_0xc3eb('0x56')]['transaction'](function(_0x36f7bc){return db['Interval'][_0xc3eb('0x25')]({'where':{'IntervalId':_0x4d87f7['params']['id']},'transaction':_0x36f7bc})['then'](function(_0x337802){var _0x930a8c=_[_0xc3eb('0x32')](_0x4d87f7[_0xc3eb('0x48')],function(_0x93a646){delete _0x93a646['id'];_0x93a646[_0xc3eb('0x50')]=_0x4d87f7['params']['id'];return _0x93a646;});return db[_0xc3eb('0x2e')][_0xc3eb('0x57')](_0x930a8c,{'transaction':_0x36f7bc});});})[_0xc3eb('0x24')](function(){return db['Interval'][_0xc3eb('0x41')]({'where':{'IntervalId':_0x4d87f7[_0xc3eb('0x4f')]['id']}});});}})[_0xc3eb('0x24')](respondWithResult(_0x5b61ec,null))[_0xc3eb('0x42')](handleError(_0x5b61ec,null));};