Built motion from commit (unavailable).|2.5.9
[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 _0x8386=['apply','reject','save','update','destroy','then','get','error','stack','name','index','Interval','rawAttributes','type','key','keys','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','VIRTUAL','options','includeAll','include','findAll','catch','show','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Intervals','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','addInterval','IntervalId','findOne','getIntervals','addIntervals','sequelize','bulkCreate','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/extensions/rewrite','sendStatus','status','end','json','count','offset','limit','set','Content-Range'];(function(_0x1a9bdf,_0x43130a){var _0x61a042=function(_0x13fdf5){while(--_0x13fdf5){_0x1a9bdf['push'](_0x1a9bdf['shift']());}};_0x61a042(++_0x43130a);}(_0x8386,0xfb));var _0x6838=function(_0x3f2cf1,_0xe530cb){_0x3f2cf1=_0x3f2cf1-0x0;var _0x46a6db=_0x8386[_0x3f2cf1];return _0x46a6db;};'use strict';var pdf=require(_0x6838('0x0'));var emlformat=require(_0x6838('0x1'));var rimraf=require(_0x6838('0x2'));var zipdir=require(_0x6838('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6838('0x4'));var moment=require(_0x6838('0x5'));var BPromise=require(_0x6838('0x6'));var Mustache=require(_0x6838('0x7'));var util=require(_0x6838('0x8'));var path=require('path');var sox=require(_0x6838('0x9'));var csv=require(_0x6838('0xa'));var ejs=require(_0x6838('0xb'));var fs=require('fs');var _=require(_0x6838('0xc'));var squel=require(_0x6838('0xd'));var crypto=require(_0x6838('0xe'));var jsforce=require(_0x6838('0xf'));var deskjs=require(_0x6838('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x6838('0x11'));var authService=require(_0x6838('0x12'));var qs=require(_0x6838('0x13'));var as=require(_0x6838('0x14'));var hardwareService=require(_0x6838('0x15'));var logger=require(_0x6838('0x16'))('api');var utils=require(_0x6838('0x17'));var config=require(_0x6838('0x18'));var licenseUtil=require(_0x6838('0x19'));var db=require(_0x6838('0x1a'))['db'];var extensions=require(_0x6838('0x1b'));function respondWithStatusCode(_0x40d93,_0x1cf74d){_0x1cf74d=_0x1cf74d||0xcc;return function(_0x8b342a){if(_0x8b342a){return _0x40d93[_0x6838('0x1c')](_0x1cf74d);}return _0x40d93[_0x6838('0x1d')](_0x1cf74d)[_0x6838('0x1e')]();};}function respondWithResult(_0x3ece9d,_0x40e4f6){_0x40e4f6=_0x40e4f6||0xc8;return function(_0x401a52){if(_0x401a52){return _0x3ece9d[_0x6838('0x1d')](_0x40e4f6)[_0x6838('0x1f')](_0x401a52);}};}function respondWithFilteredResult(_0x25150d,_0x3bb49e){return function(_0x207df1){if(_0x207df1){var _0x4fc3eb=_0x207df1[_0x6838('0x20')],_0x4b0b15=_0x3bb49e[_0x6838('0x21')],_0x3db3d7=_0x3bb49e[_0x6838('0x21')]+_0x3bb49e[_0x6838('0x22')],_0x22bd25;if(_0x3db3d7>=_0x4fc3eb){_0x3db3d7=_0x4fc3eb;_0x22bd25=0xc8;}else{_0x22bd25=0xce;}_0x25150d[_0x6838('0x1d')](_0x22bd25);return _0x25150d[_0x6838('0x23')](_0x6838('0x24'),_0x4b0b15+'-'+_0x3db3d7+'/'+_0x4fc3eb)[_0x6838('0x1f')](_0x207df1);}return null;};}function patchUpdates(_0x3c3df0){return function(_0x2151b1){try{jsonpatch[_0x6838('0x25')](_0x2151b1,_0x3c3df0,!![]);}catch(_0x3d09e3){return BPromise[_0x6838('0x26')](_0x3d09e3);}return _0x2151b1[_0x6838('0x27')]();};}function saveUpdates(_0x2ed8cf,_0x1f1f3e){return function(_0x2a2587){if(_0x2a2587){return _0x2a2587[_0x6838('0x28')](_0x2ed8cf)['then'](function(_0x127079){return _0x127079;});}return null;};}function removeEntity(_0x276c69,_0x363310){return function(_0x17cf32){if(_0x17cf32){return _0x17cf32[_0x6838('0x29')]()[_0x6838('0x2a')](function(){var _0x3bb495=_0x17cf32[_0x6838('0x2b')]({'plain':!![]});var _0x5e582c='Intervals';return db['UserProfileResource'][_0x6838('0x29')]({'where':{'type':_0x5e582c,'resourceId':_0x3bb495['id']}})['then'](function(){return _0x17cf32;});})[_0x6838('0x2a')](function(){_0x276c69[_0x6838('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x30a62e,_0x3342c9){return function(_0x45cde2){if(!_0x45cde2){_0x30a62e['sendStatus'](0x194);}return _0x45cde2;};}function handleError(_0x130905,_0x562ea){_0x562ea=_0x562ea||0x1f4;return function(_0x20ef62){logger[_0x6838('0x2c')](_0x20ef62[_0x6838('0x2d')]);if(_0x20ef62['name']){delete _0x20ef62[_0x6838('0x2e')];}_0x130905[_0x6838('0x1d')](_0x562ea)['send'](_0x20ef62);};}exports[_0x6838('0x2f')]=function(_0x32b58e,_0x46c238){var _0x4e65c4={},_0x155c97={},_0x2a388a={'count':0x0,'rows':[]};var _0x560cb9=_['map'](db[_0x6838('0x30')][_0x6838('0x31')],function(_0x501e84){return{'name':_0x501e84['fieldName'],'type':_0x501e84[_0x6838('0x32')][_0x6838('0x33')]};});_0x155c97['model']=_['map'](_0x560cb9,_0x6838('0x2e'));_0x155c97['query']=_[_0x6838('0x34')](_0x32b58e[_0x6838('0x35')]);_0x155c97[_0x6838('0x36')]=_['intersection'](_0x155c97[_0x6838('0x37')],_0x155c97[_0x6838('0x35')]);_0x4e65c4[_0x6838('0x38')]=_[_0x6838('0x39')](_0x155c97[_0x6838('0x37')],qs[_0x6838('0x3a')](_0x32b58e[_0x6838('0x35')][_0x6838('0x3a')]));_0x4e65c4[_0x6838('0x38')]=_0x4e65c4[_0x6838('0x38')][_0x6838('0x3b')]?_0x4e65c4['attributes']:_0x155c97[_0x6838('0x37')];if(!_0x32b58e[_0x6838('0x35')][_0x6838('0x3c')](_0x6838('0x3d'))){_0x4e65c4[_0x6838('0x22')]=qs[_0x6838('0x22')](_0x32b58e['query']['limit']);_0x4e65c4[_0x6838('0x21')]=qs[_0x6838('0x21')](_0x32b58e[_0x6838('0x35')][_0x6838('0x21')]);}_0x4e65c4[_0x6838('0x3e')]=qs[_0x6838('0x3f')](_0x32b58e[_0x6838('0x35')]['sort']);_0x4e65c4[_0x6838('0x40')]=qs['filters'](_[_0x6838('0x41')](_0x32b58e[_0x6838('0x35')],_0x155c97[_0x6838('0x36')]),_0x560cb9);if(_0x32b58e[_0x6838('0x35')][_0x6838('0x42')]){_0x4e65c4[_0x6838('0x40')]=_[_0x6838('0x43')](_0x4e65c4['where'],{'$or':_[_0x6838('0x44')](_0x560cb9,function(_0x567508){if(_0x567508[_0x6838('0x32')]!==_0x6838('0x45')){var _0x40aca9={};_0x40aca9[_0x567508[_0x6838('0x2e')]]={'$like':'%'+_0x32b58e[_0x6838('0x35')][_0x6838('0x42')]+'%'};return _0x40aca9;}})});}_0x4e65c4=_[_0x6838('0x43')]({},_0x4e65c4,_0x32b58e[_0x6838('0x46')]);var _0x29342c={'where':_0x4e65c4[_0x6838('0x40')]};return db[_0x6838('0x30')][_0x6838('0x20')](_0x29342c)[_0x6838('0x2a')](function(_0x557515){_0x2a388a[_0x6838('0x20')]=_0x557515;if(_0x32b58e['query'][_0x6838('0x47')]){_0x4e65c4[_0x6838('0x48')]=[{'all':!![]}];}return db[_0x6838('0x30')][_0x6838('0x49')](_0x4e65c4);})[_0x6838('0x2a')](function(_0x40a55c){_0x2a388a['rows']=_0x40a55c;return _0x2a388a;})[_0x6838('0x2a')](respondWithFilteredResult(_0x46c238,_0x4e65c4))[_0x6838('0x4a')](handleError(_0x46c238,null));};exports[_0x6838('0x4b')]=function(_0x48111a,_0x344b59){var _0x182ce7={'raw':!![],'where':{'id':_0x48111a['params']['id']}},_0x11b0c1={};_0x11b0c1['model']=_['keys'](db[_0x6838('0x30')][_0x6838('0x31')]);_0x11b0c1['query']=_[_0x6838('0x34')](_0x48111a[_0x6838('0x35')]);_0x11b0c1[_0x6838('0x36')]=_['intersection'](_0x11b0c1[_0x6838('0x37')],_0x11b0c1['query']);_0x182ce7[_0x6838('0x38')]=_[_0x6838('0x39')](_0x11b0c1['model'],qs[_0x6838('0x3a')](_0x48111a[_0x6838('0x35')][_0x6838('0x3a')]));_0x182ce7[_0x6838('0x38')]=_0x182ce7[_0x6838('0x38')][_0x6838('0x3b')]?_0x182ce7['attributes']:_0x11b0c1['model'];if(_0x48111a[_0x6838('0x35')][_0x6838('0x47')]){_0x182ce7['include']=[{'all':!![]}];}_0x182ce7=_['merge']({},_0x182ce7,_0x48111a[_0x6838('0x46')]);return db[_0x6838('0x30')][_0x6838('0x4c')](_0x182ce7)['then'](handleEntityNotFound(_0x344b59,null))[_0x6838('0x2a')](respondWithResult(_0x344b59,null))['catch'](handleError(_0x344b59,null));};exports[_0x6838('0x4d')]=function(_0x2da19a,_0x378954){return db['Interval'][_0x6838('0x4d')](_0x2da19a[_0x6838('0x4e')],{})['then'](function(_0xcf4027){var _0x2769c1=_0x2da19a[_0x6838('0x4f')][_0x6838('0x2b')]({'plain':!![]});if(!_0x2769c1)throw new Error(_0x6838('0x50'));if(_0x2769c1[_0x6838('0x51')]==='user'){var _0x2703be=_0xcf4027[_0x6838('0x2b')]({'plain':!![]});var _0x3c41c7=_0x6838('0x52');return db[_0x6838('0x53')][_0x6838('0x4c')]({'where':{'name':_0x3c41c7,'userProfileId':_0x2769c1[_0x6838('0x54')]},'raw':!![]})['then'](function(_0x4fa8a7){if(_0x4fa8a7&&_0x4fa8a7[_0x6838('0x55')]===0x0){return db[_0x6838('0x56')][_0x6838('0x4d')]({'name':_0x2703be[_0x6838('0x2e')],'resourceId':_0x2703be['id'],'type':_0x4fa8a7[_0x6838('0x2e')],'sectionId':_0x4fa8a7['id']},{})['then'](function(){return _0xcf4027;});}else{return _0xcf4027;}})['catch'](function(_0x42c025){logger[_0x6838('0x2c')](_0x6838('0x57'),_0x42c025);throw _0x42c025;});}return _0xcf4027;})[_0x6838('0x2a')](respondWithResult(_0x378954,0xc9))[_0x6838('0x4a')](handleError(_0x378954,null));};exports['update']=function(_0x569ef2,_0x5d5bbd){if(_0x569ef2[_0x6838('0x4e')]['id']){delete _0x569ef2[_0x6838('0x4e')]['id'];}return db[_0x6838('0x30')][_0x6838('0x4c')]({'where':{'id':_0x569ef2[_0x6838('0x58')]['id']}})[_0x6838('0x2a')](handleEntityNotFound(_0x5d5bbd,null))['then'](saveUpdates(_0x569ef2[_0x6838('0x4e')],null))[_0x6838('0x2a')](respondWithResult(_0x5d5bbd,null))[_0x6838('0x4a')](handleError(_0x5d5bbd,null));};exports['destroy']=function(_0x25d6a4,_0x3e3825){return db[_0x6838('0x30')][_0x6838('0x4c')]({'where':{'id':_0x25d6a4[_0x6838('0x58')]['id']}})['then'](handleEntityNotFound(_0x3e3825,null))[_0x6838('0x2a')](removeEntity(_0x3e3825,null))[_0x6838('0x4a')](handleError(_0x3e3825,null));};exports[_0x6838('0x59')]=function(_0x10d0a4,_0x2e53a1,_0x43ecfb){if(_0x10d0a4[_0x6838('0x4e')]['id']){delete _0x10d0a4[_0x6838('0x4e')]['id'];}return db[_0x6838('0x30')][_0x6838('0x4c')]({'where':{'id':_0x10d0a4[_0x6838('0x58')]['id']}})[_0x6838('0x2a')](handleEntityNotFound(_0x2e53a1,null))[_0x6838('0x2a')](function(_0x3a18b3){if(_0x3a18b3){_0x10d0a4[_0x6838('0x4e')][_0x6838('0x5a')]=_0x3a18b3['id'];return db[_0x6838('0x30')]['create'](_0x10d0a4[_0x6838('0x4e')]);}})[_0x6838('0x2a')](respondWithResult(_0x2e53a1,null))[_0x6838('0x4a')](handleError(_0x2e53a1,null));};exports['getIntervals']=function(_0x409610,_0x119283,_0x25d059){var _0xeba169={};var _0x370327={};var _0x4a26ef;var _0x327c36;return db[_0x6838('0x30')][_0x6838('0x5b')]({'where':{'id':_0x409610[_0x6838('0x58')]['id']}})['then'](handleEntityNotFound(_0x119283,null))[_0x6838('0x2a')](function(_0x53d960){if(_0x53d960){_0x4a26ef=_0x53d960;_0x370327[_0x6838('0x37')]=_[_0x6838('0x34')](db['Interval']['rawAttributes']);_0x370327[_0x6838('0x35')]=_['keys'](_0x409610[_0x6838('0x35')]);_0x370327[_0x6838('0x36')]=_[_0x6838('0x39')](_0x370327[_0x6838('0x37')],_0x370327[_0x6838('0x35')]);_0xeba169[_0x6838('0x38')]=_['intersection'](_0x370327[_0x6838('0x37')],qs[_0x6838('0x3a')](_0x409610['query']['fields']));_0xeba169[_0x6838('0x38')]=_0xeba169['attributes'][_0x6838('0x3b')]?_0xeba169[_0x6838('0x38')]:_0x370327['model'];_0xeba169[_0x6838('0x3e')]=qs[_0x6838('0x3f')](_0x409610[_0x6838('0x35')][_0x6838('0x3f')]);_0xeba169[_0x6838('0x40')]=qs['filters'](_['pick'](_0x409610['query'],_0x370327['filters']));if(_0x409610[_0x6838('0x35')]['filter']){_0xeba169[_0x6838('0x40')]=_[_0x6838('0x43')](_0xeba169[_0x6838('0x40')],{'$or':_[_0x6838('0x44')](_0xeba169[_0x6838('0x38')],function(_0x14fe31){var _0x31de2b={};_0x31de2b[_0x14fe31]={'$like':'%'+_0x409610[_0x6838('0x35')]['filter']+'%'};return _0x31de2b;})});}_0xeba169=_[_0x6838('0x43')]({},_0xeba169,_0x409610['options']);return _0x4a26ef[_0x6838('0x5c')](_0xeba169);}})[_0x6838('0x2a')](function(_0x430ed7){if(_0x430ed7){_0x327c36=_0x430ed7[_0x6838('0x3b')];if(!_0x409610[_0x6838('0x35')][_0x6838('0x3c')](_0x6838('0x3d'))){_0xeba169['limit']=qs[_0x6838('0x22')](_0x409610[_0x6838('0x35')]['limit']);_0xeba169[_0x6838('0x21')]=qs[_0x6838('0x21')](_0x409610[_0x6838('0x35')]['offset']);}return _0x4a26ef['getIntervals'](_0xeba169);}})[_0x6838('0x2a')](function(_0x1939e0){if(_0x1939e0){return _0x1939e0?{'count':_0x327c36,'rows':_0x1939e0}:null;}})[_0x6838('0x2a')](respondWithResult(_0x119283,null))[_0x6838('0x4a')](handleError(_0x119283,null));};exports[_0x6838('0x5d')]=function(_0x2dc694,_0x5b5bd8,_0x282cdc){return db[_0x6838('0x30')][_0x6838('0x5b')]({'where':{'id':_0x2dc694['params']['id']}})[_0x6838('0x2a')](handleEntityNotFound(_0x5b5bd8,null))[_0x6838('0x2a')](function(_0x590ef6){if(_0x590ef6){return db[_0x6838('0x5e')]['transaction'](function(_0x4f7087){return db['Interval'][_0x6838('0x29')]({'where':{'IntervalId':_0x2dc694[_0x6838('0x58')]['id']},'transaction':_0x4f7087})[_0x6838('0x2a')](function(_0x39414c){var _0x419acd=_[_0x6838('0x44')](_0x2dc694[_0x6838('0x4e')],function(_0x4639e0){delete _0x4639e0['id'];_0x4639e0[_0x6838('0x5a')]=_0x2dc694[_0x6838('0x58')]['id'];return _0x4639e0;});return db['Interval'][_0x6838('0x5f')](_0x419acd,{'transaction':_0x4f7087});});})[_0x6838('0x2a')](function(){return db[_0x6838('0x30')][_0x6838('0x49')]({'where':{'IntervalId':_0x2dc694[_0x6838('0x58')]['id']}});});}})[_0x6838('0x2a')](respondWithResult(_0x5b5bd8,null))[_0x6838('0x4a')](handleError(_0x5b5bd8,null));};