Built motion from commit (unavailable).|2.5.14
[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 _0xd0aa=['IntervalId','getIntervals','findOne','pick','hasOwnProperty','addIntervals','sequelize','transaction','bulkCreate','html-pdf','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/extensions/rewrite','status','json','count','offset','Content-Range','apply','reject','save','update','then','Intervals','UserProfileResource','destroy','error','stack','name','send','index','map','Interval','rawAttributes','type','key','model','query','filters','intersection','fields','attributes','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','keys','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s'];(function(_0xb47ef4,_0x5ab58d){var _0x3e7cb7=function(_0x26263f){while(--_0x26263f){_0xb47ef4['push'](_0xb47ef4['shift']());}};_0x3e7cb7(++_0x5ab58d);}(_0xd0aa,0x11a));var _0xad0a=function(_0x42c7df,_0x23bd1f){_0x42c7df=_0x42c7df-0x0;var _0x248542=_0xd0aa[_0x42c7df];return _0x248542;};'use strict';var pdf=require(_0xad0a('0x0'));var emlformat=require(_0xad0a('0x1'));var rimraf=require(_0xad0a('0x2'));var zipdir=require(_0xad0a('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xad0a('0x4'));var moment=require('moment');var BPromise=require(_0xad0a('0x5'));var Mustache=require(_0xad0a('0x6'));var util=require(_0xad0a('0x7'));var path=require(_0xad0a('0x8'));var sox=require(_0xad0a('0x9'));var csv=require(_0xad0a('0xa'));var ejs=require(_0xad0a('0xb'));var fs=require('fs');var _=require(_0xad0a('0xc'));var squel=require(_0xad0a('0xd'));var crypto=require('crypto');var jsforce=require(_0xad0a('0xe'));var deskjs=require(_0xad0a('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xad0a('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xad0a('0x11'));var as=require(_0xad0a('0x12'));var hardwareService=require(_0xad0a('0x13'));var logger=require(_0xad0a('0x14'))(_0xad0a('0x15'));var utils=require(_0xad0a('0x16'));var config=require(_0xad0a('0x17'));var licenseUtil=require(_0xad0a('0x18'));var db=require('../../mysqldb')['db'];var extensions=require(_0xad0a('0x19'));function respondWithStatusCode(_0x4f1bf4,_0xb60043){_0xb60043=_0xb60043||0xcc;return function(_0x2905e1){if(_0x2905e1){return _0x4f1bf4['sendStatus'](_0xb60043);}return _0x4f1bf4[_0xad0a('0x1a')](_0xb60043)['end']();};}function respondWithResult(_0x3ddf1f,_0x452bb8){_0x452bb8=_0x452bb8||0xc8;return function(_0xbfe4cc){if(_0xbfe4cc){return _0x3ddf1f['status'](_0x452bb8)[_0xad0a('0x1b')](_0xbfe4cc);}};}function respondWithFilteredResult(_0x453bc1,_0x1b5942){return function(_0x4ea548){if(_0x4ea548){var _0x412a36=_0x4ea548[_0xad0a('0x1c')],_0x564aa4=_0x1b5942[_0xad0a('0x1d')],_0x39f670=_0x1b5942[_0xad0a('0x1d')]+_0x1b5942['limit'],_0x146766;if(_0x39f670>=_0x412a36){_0x39f670=_0x412a36;_0x146766=0xc8;}else{_0x146766=0xce;}_0x453bc1[_0xad0a('0x1a')](_0x146766);return _0x453bc1['set'](_0xad0a('0x1e'),_0x564aa4+'-'+_0x39f670+'/'+_0x412a36)[_0xad0a('0x1b')](_0x4ea548);}return null;};}function patchUpdates(_0x4c49c0){return function(_0x557243){try{jsonpatch[_0xad0a('0x1f')](_0x557243,_0x4c49c0,!![]);}catch(_0x165724){return BPromise[_0xad0a('0x20')](_0x165724);}return _0x557243[_0xad0a('0x21')]();};}function saveUpdates(_0x58a334,_0x1f173b){return function(_0x55b9df){if(_0x55b9df){return _0x55b9df[_0xad0a('0x22')](_0x58a334)['then'](function(_0x4e90f7){return _0x4e90f7;});}return null;};}function removeEntity(_0x500158,_0x1af1a1){return function(_0x1d590c){if(_0x1d590c){return _0x1d590c['destroy']()[_0xad0a('0x23')](function(){var _0xaf0d7=_0x1d590c['get']({'plain':!![]});var _0x3179d3=_0xad0a('0x24');return db[_0xad0a('0x25')][_0xad0a('0x26')]({'where':{'type':_0x3179d3,'resourceId':_0xaf0d7['id']}})[_0xad0a('0x23')](function(){return _0x1d590c;});})[_0xad0a('0x23')](function(){_0x500158[_0xad0a('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0xf2a328,_0x1c3ca1){return function(_0x581692){if(!_0x581692){_0xf2a328['sendStatus'](0x194);}return _0x581692;};}function handleError(_0x26d71d,_0x23b863){_0x23b863=_0x23b863||0x1f4;return function(_0x310294){logger[_0xad0a('0x27')](_0x310294[_0xad0a('0x28')]);if(_0x310294['name']){delete _0x310294[_0xad0a('0x29')];}_0x26d71d['status'](_0x23b863)[_0xad0a('0x2a')](_0x310294);};}exports[_0xad0a('0x2b')]=function(_0x17e16d,_0x58c1a6){var _0x41635f={},_0x211168={},_0x527f68={'count':0x0,'rows':[]};var _0x4b839d=_[_0xad0a('0x2c')](db[_0xad0a('0x2d')][_0xad0a('0x2e')],function(_0x44e574){return{'name':_0x44e574['fieldName'],'type':_0x44e574[_0xad0a('0x2f')][_0xad0a('0x30')]};});_0x211168[_0xad0a('0x31')]=_[_0xad0a('0x2c')](_0x4b839d,_0xad0a('0x29'));_0x211168[_0xad0a('0x32')]=_['keys'](_0x17e16d[_0xad0a('0x32')]);_0x211168[_0xad0a('0x33')]=_['intersection'](_0x211168[_0xad0a('0x31')],_0x211168[_0xad0a('0x32')]);_0x41635f['attributes']=_[_0xad0a('0x34')](_0x211168[_0xad0a('0x31')],qs[_0xad0a('0x35')](_0x17e16d[_0xad0a('0x32')][_0xad0a('0x35')]));_0x41635f['attributes']=_0x41635f[_0xad0a('0x36')]['length']?_0x41635f[_0xad0a('0x36')]:_0x211168['model'];if(!_0x17e16d['query']['hasOwnProperty'](_0xad0a('0x37'))){_0x41635f[_0xad0a('0x38')]=qs[_0xad0a('0x38')](_0x17e16d[_0xad0a('0x32')][_0xad0a('0x38')]);_0x41635f[_0xad0a('0x1d')]=qs['offset'](_0x17e16d[_0xad0a('0x32')][_0xad0a('0x1d')]);}_0x41635f[_0xad0a('0x39')]=qs['sort'](_0x17e16d['query'][_0xad0a('0x3a')]);_0x41635f[_0xad0a('0x3b')]=qs[_0xad0a('0x33')](_['pick'](_0x17e16d[_0xad0a('0x32')],_0x211168[_0xad0a('0x33')]),_0x4b839d);if(_0x17e16d[_0xad0a('0x32')][_0xad0a('0x3c')]){_0x41635f[_0xad0a('0x3b')]=_[_0xad0a('0x3d')](_0x41635f[_0xad0a('0x3b')],{'$or':_[_0xad0a('0x2c')](_0x4b839d,function(_0x4015f3){if(_0x4015f3[_0xad0a('0x2f')]!==_0xad0a('0x3e')){var _0x2487bc={};_0x2487bc[_0x4015f3[_0xad0a('0x29')]]={'$like':'%'+_0x17e16d[_0xad0a('0x32')][_0xad0a('0x3c')]+'%'};return _0x2487bc;}})});}_0x41635f=_[_0xad0a('0x3d')]({},_0x41635f,_0x17e16d[_0xad0a('0x3f')]);var _0x9942d9={'where':_0x41635f['where']};return db[_0xad0a('0x2d')][_0xad0a('0x1c')](_0x9942d9)['then'](function(_0x37af1b){_0x527f68[_0xad0a('0x1c')]=_0x37af1b;if(_0x17e16d[_0xad0a('0x32')][_0xad0a('0x40')]){_0x41635f[_0xad0a('0x41')]=[{'all':!![]}];}return db[_0xad0a('0x2d')][_0xad0a('0x42')](_0x41635f);})[_0xad0a('0x23')](function(_0x24ee61){_0x527f68[_0xad0a('0x43')]=_0x24ee61;return _0x527f68;})[_0xad0a('0x23')](respondWithFilteredResult(_0x58c1a6,_0x41635f))[_0xad0a('0x44')](handleError(_0x58c1a6,null));};exports['show']=function(_0x2ca027,_0x3e7ab4){var _0x2f7499={'raw':!![],'where':{'id':_0x2ca027[_0xad0a('0x45')]['id']}},_0x373568={};_0x373568[_0xad0a('0x31')]=_['keys'](db[_0xad0a('0x2d')][_0xad0a('0x2e')]);_0x373568[_0xad0a('0x32')]=_[_0xad0a('0x46')](_0x2ca027['query']);_0x373568[_0xad0a('0x33')]=_[_0xad0a('0x34')](_0x373568['model'],_0x373568[_0xad0a('0x32')]);_0x2f7499[_0xad0a('0x36')]=_[_0xad0a('0x34')](_0x373568['model'],qs[_0xad0a('0x35')](_0x2ca027['query']['fields']));_0x2f7499[_0xad0a('0x36')]=_0x2f7499['attributes'][_0xad0a('0x47')]?_0x2f7499[_0xad0a('0x36')]:_0x373568['model'];if(_0x2ca027['query'][_0xad0a('0x40')]){_0x2f7499['include']=[{'all':!![]}];}_0x2f7499=_[_0xad0a('0x3d')]({},_0x2f7499,_0x2ca027['options']);return db['Interval'][_0xad0a('0x48')](_0x2f7499)[_0xad0a('0x23')](handleEntityNotFound(_0x3e7ab4,null))[_0xad0a('0x23')](respondWithResult(_0x3e7ab4,null))['catch'](handleError(_0x3e7ab4,null));};exports[_0xad0a('0x49')]=function(_0x21b489,_0x52c3ff){return db[_0xad0a('0x2d')][_0xad0a('0x49')](_0x21b489[_0xad0a('0x4a')],{})[_0xad0a('0x23')](function(_0x1911ee){var _0x2e0ed1=_0x21b489[_0xad0a('0x4b')]['get']({'plain':!![]});if(!_0x2e0ed1)throw new Error(_0xad0a('0x4c'));if(_0x2e0ed1[_0xad0a('0x4d')]==='user'){var _0x4367f1=_0x1911ee[_0xad0a('0x4e')]({'plain':!![]});var _0x4e826b=_0xad0a('0x24');return db[_0xad0a('0x4f')][_0xad0a('0x48')]({'where':{'name':_0x4e826b,'userProfileId':_0x2e0ed1[_0xad0a('0x50')]},'raw':!![]})['then'](function(_0x5184fa){if(_0x5184fa&&_0x5184fa['autoAssociation']===0x0){return db[_0xad0a('0x25')][_0xad0a('0x49')]({'name':_0x4367f1[_0xad0a('0x29')],'resourceId':_0x4367f1['id'],'type':_0x5184fa[_0xad0a('0x29')],'sectionId':_0x5184fa['id']},{})[_0xad0a('0x23')](function(){return _0x1911ee;});}else{return _0x1911ee;}})['catch'](function(_0x5a0ae6){logger[_0xad0a('0x27')](_0xad0a('0x51'),_0x5a0ae6);throw _0x5a0ae6;});}return _0x1911ee;})[_0xad0a('0x23')](respondWithResult(_0x52c3ff,0xc9))[_0xad0a('0x44')](handleError(_0x52c3ff,null));};exports[_0xad0a('0x22')]=function(_0x383934,_0x5b94ce){if(_0x383934[_0xad0a('0x4a')]['id']){delete _0x383934[_0xad0a('0x4a')]['id'];}return db[_0xad0a('0x2d')][_0xad0a('0x48')]({'where':{'id':_0x383934[_0xad0a('0x45')]['id']}})[_0xad0a('0x23')](handleEntityNotFound(_0x5b94ce,null))[_0xad0a('0x23')](saveUpdates(_0x383934[_0xad0a('0x4a')],null))[_0xad0a('0x23')](respondWithResult(_0x5b94ce,null))['catch'](handleError(_0x5b94ce,null));};exports[_0xad0a('0x26')]=function(_0x416bde,_0x1807f7){return db['Interval'][_0xad0a('0x48')]({'where':{'id':_0x416bde[_0xad0a('0x45')]['id']}})[_0xad0a('0x23')](handleEntityNotFound(_0x1807f7,null))[_0xad0a('0x23')](removeEntity(_0x1807f7,null))['catch'](handleError(_0x1807f7,null));};exports['addInterval']=function(_0x407b83,_0x226194,_0x1abdfb){if(_0x407b83[_0xad0a('0x4a')]['id']){delete _0x407b83['body']['id'];}return db[_0xad0a('0x2d')][_0xad0a('0x48')]({'where':{'id':_0x407b83[_0xad0a('0x45')]['id']}})[_0xad0a('0x23')](handleEntityNotFound(_0x226194,null))[_0xad0a('0x23')](function(_0x1e8bda){if(_0x1e8bda){_0x407b83[_0xad0a('0x4a')][_0xad0a('0x52')]=_0x1e8bda['id'];return db[_0xad0a('0x2d')]['create'](_0x407b83[_0xad0a('0x4a')]);}})['then'](respondWithResult(_0x226194,null))[_0xad0a('0x44')](handleError(_0x226194,null));};exports[_0xad0a('0x53')]=function(_0x16ebd8,_0x34d4d2,_0x5ea01f){var _0x12df35={};var _0x396db1={};var _0x4a8638;var _0x5ab3d9;return db[_0xad0a('0x2d')][_0xad0a('0x54')]({'where':{'id':_0x16ebd8['params']['id']}})[_0xad0a('0x23')](handleEntityNotFound(_0x34d4d2,null))[_0xad0a('0x23')](function(_0x145ba1){if(_0x145ba1){_0x4a8638=_0x145ba1;_0x396db1[_0xad0a('0x31')]=_[_0xad0a('0x46')](db[_0xad0a('0x2d')]['rawAttributes']);_0x396db1[_0xad0a('0x32')]=_[_0xad0a('0x46')](_0x16ebd8[_0xad0a('0x32')]);_0x396db1[_0xad0a('0x33')]=_[_0xad0a('0x34')](_0x396db1['model'],_0x396db1['query']);_0x12df35['attributes']=_[_0xad0a('0x34')](_0x396db1[_0xad0a('0x31')],qs[_0xad0a('0x35')](_0x16ebd8[_0xad0a('0x32')]['fields']));_0x12df35[_0xad0a('0x36')]=_0x12df35[_0xad0a('0x36')][_0xad0a('0x47')]?_0x12df35[_0xad0a('0x36')]:_0x396db1[_0xad0a('0x31')];_0x12df35[_0xad0a('0x39')]=qs['sort'](_0x16ebd8[_0xad0a('0x32')][_0xad0a('0x3a')]);_0x12df35[_0xad0a('0x3b')]=qs[_0xad0a('0x33')](_[_0xad0a('0x55')](_0x16ebd8['query'],_0x396db1[_0xad0a('0x33')]));if(_0x16ebd8['query']['filter']){_0x12df35[_0xad0a('0x3b')]=_[_0xad0a('0x3d')](_0x12df35['where'],{'$or':_[_0xad0a('0x2c')](_0x12df35[_0xad0a('0x36')],function(_0x9014a3){var _0x43c872={};_0x43c872[_0x9014a3]={'$like':'%'+_0x16ebd8['query'][_0xad0a('0x3c')]+'%'};return _0x43c872;})});}_0x12df35=_[_0xad0a('0x3d')]({},_0x12df35,_0x16ebd8[_0xad0a('0x3f')]);return _0x4a8638['getIntervals'](_0x12df35);}})[_0xad0a('0x23')](function(_0x4283aa){if(_0x4283aa){_0x5ab3d9=_0x4283aa[_0xad0a('0x47')];if(!_0x16ebd8[_0xad0a('0x32')][_0xad0a('0x56')](_0xad0a('0x37'))){_0x12df35[_0xad0a('0x38')]=qs[_0xad0a('0x38')](_0x16ebd8[_0xad0a('0x32')][_0xad0a('0x38')]);_0x12df35[_0xad0a('0x1d')]=qs['offset'](_0x16ebd8[_0xad0a('0x32')][_0xad0a('0x1d')]);}return _0x4a8638[_0xad0a('0x53')](_0x12df35);}})[_0xad0a('0x23')](function(_0x200656){if(_0x200656){return _0x200656?{'count':_0x5ab3d9,'rows':_0x200656}:null;}})['then'](respondWithResult(_0x34d4d2,null))[_0xad0a('0x44')](handleError(_0x34d4d2,null));};exports[_0xad0a('0x57')]=function(_0x40b369,_0x3aa494,_0x4b4480){return db[_0xad0a('0x2d')][_0xad0a('0x54')]({'where':{'id':_0x40b369[_0xad0a('0x45')]['id']}})[_0xad0a('0x23')](handleEntityNotFound(_0x3aa494,null))[_0xad0a('0x23')](function(_0x459468){if(_0x459468){return db[_0xad0a('0x58')][_0xad0a('0x59')](function(_0x1e2f71){return db[_0xad0a('0x2d')][_0xad0a('0x26')]({'where':{'IntervalId':_0x40b369['params']['id']},'transaction':_0x1e2f71})[_0xad0a('0x23')](function(_0x56e292){var _0x569e8b=_[_0xad0a('0x2c')](_0x40b369[_0xad0a('0x4a')],function(_0x3b0b69){delete _0x3b0b69['id'];_0x3b0b69['IntervalId']=_0x40b369[_0xad0a('0x45')]['id'];return _0x3b0b69;});return db['Interval'][_0xad0a('0x5a')](_0x569e8b,{'transaction':_0x1e2f71});});})['then'](function(){return db[_0xad0a('0x2d')][_0xad0a('0x42')]({'where':{'IntervalId':_0x40b369['params']['id']}});});}})[_0xad0a('0x23')](respondWithResult(_0x3aa494,null))[_0xad0a('0x44')](handleError(_0x3aa494,null));};