Built motion from commit (unavailable).|2.5.31
[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 _0x5513=['crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../components/extensions/rewrite','sendStatus','end','status','offset','undefined','count','Content-Range','apply','save','then','destroy','get','Intervals','error','name','send','index','map','Interval','type','key','model','query','keys','filters','attributes','intersection','fields','length','nolimit','limit','order','sort','pick','filter','where','merge','VIRTUAL','includeAll','findAll','catch','rawAttributes','include','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','params','addInterval','IntervalId','findOne','getIntervals','addIntervals','sequelize','transaction','bulkCreate','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel'];(function(_0x504582,_0x5b3965){var _0x43c6ce=function(_0x1199a4){while(--_0x1199a4){_0x504582['push'](_0x504582['shift']());}};_0x43c6ce(++_0x5b3965);}(_0x5513,0x101));var _0x3551=function(_0x2d8f6c,_0x44db4c){_0x2d8f6c=_0x2d8f6c-0x0;var _0x3a00f6=_0x5513[_0x2d8f6c];return _0x3a00f6;};'use strict';var emlformat=require(_0x3551('0x0'));var rimraf=require(_0x3551('0x1'));var zipdir=require(_0x3551('0x2'));var jsonpatch=require(_0x3551('0x3'));var rp=require(_0x3551('0x4'));var moment=require('moment');var BPromise=require(_0x3551('0x5'));var Mustache=require(_0x3551('0x6'));var util=require(_0x3551('0x7'));var path=require(_0x3551('0x8'));var sox=require(_0x3551('0x9'));var csv=require(_0x3551('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3551('0xb'));var _=require('lodash');var squel=require(_0x3551('0xc'));var crypto=require(_0x3551('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x3551('0xe'));var toCsv=require(_0x3551('0xa'));var querystring=require('querystring');var Papa=require(_0x3551('0xf'));var Redis=require('ioredis');var authService=require(_0x3551('0x10'));var qs=require(_0x3551('0x11'));var as=require(_0x3551('0x12'));var hardwareService=require(_0x3551('0x13'));var logger=require('../../config/logger')(_0x3551('0x14'));var utils=require(_0x3551('0x15'));var config=require(_0x3551('0x16'));var licenseUtil=require(_0x3551('0x17'));var db=require('../../mysqldb')['db'];var extensions=require(_0x3551('0x18'));function respondWithStatusCode(_0x4a29d6,_0x3d57fb){_0x3d57fb=_0x3d57fb||0xcc;return function(_0x706235){if(_0x706235){return _0x4a29d6[_0x3551('0x19')](_0x3d57fb);}return _0x4a29d6['status'](_0x3d57fb)[_0x3551('0x1a')]();};}function respondWithResult(_0x5048f2,_0x24bbb2){_0x24bbb2=_0x24bbb2||0xc8;return function(_0x375c7a){if(_0x375c7a){return _0x5048f2[_0x3551('0x1b')](_0x24bbb2)['json'](_0x375c7a);}};}function respondWithFilteredResult(_0x59ec0c,_0x1b38dc){return function(_0x5ddf7b){if(_0x5ddf7b){var _0x164135=typeof _0x1b38dc[_0x3551('0x1c')]===_0x3551('0x1d')&&typeof _0x1b38dc['limit']==='undefined';var _0x2af71e=_0x5ddf7b[_0x3551('0x1e')];var _0x35259a=_0x164135?0x0:_0x1b38dc[_0x3551('0x1c')];var _0x41845a=_0x164135?_0x5ddf7b['count']:_0x1b38dc[_0x3551('0x1c')]+_0x1b38dc['limit'];var _0x26e87c;if(_0x41845a>=_0x2af71e){_0x41845a=_0x2af71e;_0x26e87c=0xc8;}else{_0x26e87c=0xce;}_0x59ec0c[_0x3551('0x1b')](_0x26e87c);return _0x59ec0c['set'](_0x3551('0x1f'),_0x35259a+'-'+_0x41845a+'/'+_0x2af71e)['json'](_0x5ddf7b);}return null;};}function patchUpdates(_0x5db615){return function(_0x15e452){try{jsonpatch[_0x3551('0x20')](_0x15e452,_0x5db615,!![]);}catch(_0xca43d7){return BPromise['reject'](_0xca43d7);}return _0x15e452[_0x3551('0x21')]();};}function saveUpdates(_0x5d3668,_0x3baf6e){return function(_0x27bd5b){if(_0x27bd5b){return _0x27bd5b['update'](_0x5d3668)[_0x3551('0x22')](function(_0x18f82d){return _0x18f82d;});}return null;};}function removeEntity(_0x103467,_0xf5f5fd){return function(_0x61faf0){if(_0x61faf0){return _0x61faf0[_0x3551('0x23')]()[_0x3551('0x22')](function(){var _0x5e1eee=_0x61faf0[_0x3551('0x24')]({'plain':!![]});var _0x31d8c6=_0x3551('0x25');return db['UserProfileResource'][_0x3551('0x23')]({'where':{'type':_0x31d8c6,'resourceId':_0x5e1eee['id']}})[_0x3551('0x22')](function(){return _0x61faf0;});})[_0x3551('0x22')](function(){_0x103467[_0x3551('0x1b')](0xcc)[_0x3551('0x1a')]();});}};}function handleEntityNotFound(_0x95f403,_0x35a21d){return function(_0x1bbea5){if(!_0x1bbea5){_0x95f403[_0x3551('0x19')](0x194);}return _0x1bbea5;};}function handleError(_0x5a1e79,_0x53dd37){_0x53dd37=_0x53dd37||0x1f4;return function(_0x4990b2){logger[_0x3551('0x26')](_0x4990b2['stack']);if(_0x4990b2[_0x3551('0x27')]){delete _0x4990b2[_0x3551('0x27')];}_0x5a1e79[_0x3551('0x1b')](_0x53dd37)[_0x3551('0x28')](_0x4990b2);};}exports[_0x3551('0x29')]=function(_0x459554,_0x514175){var _0xcd077c={},_0x15e934={},_0x1255b2={'count':0x0,'rows':[]};var _0x55f6f6=_[_0x3551('0x2a')](db[_0x3551('0x2b')]['rawAttributes'],function(_0x1b8c5a){return{'name':_0x1b8c5a['fieldName'],'type':_0x1b8c5a[_0x3551('0x2c')][_0x3551('0x2d')]};});_0x15e934[_0x3551('0x2e')]=_['map'](_0x55f6f6,_0x3551('0x27'));_0x15e934[_0x3551('0x2f')]=_[_0x3551('0x30')](_0x459554[_0x3551('0x2f')]);_0x15e934[_0x3551('0x31')]=_['intersection'](_0x15e934[_0x3551('0x2e')],_0x15e934[_0x3551('0x2f')]);_0xcd077c[_0x3551('0x32')]=_[_0x3551('0x33')](_0x15e934[_0x3551('0x2e')],qs[_0x3551('0x34')](_0x459554[_0x3551('0x2f')]['fields']));_0xcd077c[_0x3551('0x32')]=_0xcd077c[_0x3551('0x32')][_0x3551('0x35')]?_0xcd077c[_0x3551('0x32')]:_0x15e934['model'];if(!_0x459554[_0x3551('0x2f')]['hasOwnProperty'](_0x3551('0x36'))){_0xcd077c['limit']=qs[_0x3551('0x37')](_0x459554[_0x3551('0x2f')][_0x3551('0x37')]);_0xcd077c['offset']=qs[_0x3551('0x1c')](_0x459554['query'][_0x3551('0x1c')]);}_0xcd077c[_0x3551('0x38')]=qs[_0x3551('0x39')](_0x459554[_0x3551('0x2f')][_0x3551('0x39')]);_0xcd077c['where']=qs[_0x3551('0x31')](_[_0x3551('0x3a')](_0x459554['query'],_0x15e934['filters']),_0x55f6f6);if(_0x459554[_0x3551('0x2f')][_0x3551('0x3b')]){_0xcd077c[_0x3551('0x3c')]=_[_0x3551('0x3d')](_0xcd077c[_0x3551('0x3c')],{'$or':_[_0x3551('0x2a')](_0x55f6f6,function(_0x1597c8){if(_0x1597c8[_0x3551('0x2c')]!==_0x3551('0x3e')){var _0x2db42e={};_0x2db42e[_0x1597c8['name']]={'$like':'%'+_0x459554[_0x3551('0x2f')][_0x3551('0x3b')]+'%'};return _0x2db42e;}})});}_0xcd077c=_[_0x3551('0x3d')]({},_0xcd077c,_0x459554['options']);var _0x37ffc8={'where':_0xcd077c[_0x3551('0x3c')]};return db[_0x3551('0x2b')][_0x3551('0x1e')](_0x37ffc8)[_0x3551('0x22')](function(_0x1adfe0){_0x1255b2[_0x3551('0x1e')]=_0x1adfe0;if(_0x459554[_0x3551('0x2f')][_0x3551('0x3f')]){_0xcd077c['include']=[{'all':!![]}];}return db['Interval'][_0x3551('0x40')](_0xcd077c);})[_0x3551('0x22')](function(_0x5238a9){_0x1255b2['rows']=_0x5238a9;return _0x1255b2;})['then'](respondWithFilteredResult(_0x514175,_0xcd077c))[_0x3551('0x41')](handleError(_0x514175,null));};exports['show']=function(_0x3cf0b4,_0x55d263){var _0x242dd6={'raw':!![],'where':{'id':_0x3cf0b4['params']['id']}},_0x3b8c22={};_0x3b8c22[_0x3551('0x2e')]=_['keys'](db[_0x3551('0x2b')][_0x3551('0x42')]);_0x3b8c22[_0x3551('0x2f')]=_[_0x3551('0x30')](_0x3cf0b4[_0x3551('0x2f')]);_0x3b8c22[_0x3551('0x31')]=_[_0x3551('0x33')](_0x3b8c22[_0x3551('0x2e')],_0x3b8c22[_0x3551('0x2f')]);_0x242dd6['attributes']=_[_0x3551('0x33')](_0x3b8c22[_0x3551('0x2e')],qs[_0x3551('0x34')](_0x3cf0b4[_0x3551('0x2f')][_0x3551('0x34')]));_0x242dd6[_0x3551('0x32')]=_0x242dd6['attributes']['length']?_0x242dd6['attributes']:_0x3b8c22[_0x3551('0x2e')];if(_0x3cf0b4['query']['includeAll']){_0x242dd6[_0x3551('0x43')]=[{'all':!![]}];}_0x242dd6=_[_0x3551('0x3d')]({},_0x242dd6,_0x3cf0b4[_0x3551('0x44')]);return db[_0x3551('0x2b')][_0x3551('0x45')](_0x242dd6)[_0x3551('0x22')](handleEntityNotFound(_0x55d263,null))['then'](respondWithResult(_0x55d263,null))[_0x3551('0x41')](handleError(_0x55d263,null));};exports['create']=function(_0x53abdc,_0x1dc7e2){return db[_0x3551('0x2b')][_0x3551('0x46')](_0x53abdc['body'],{})[_0x3551('0x22')](function(_0x5abf5a){var _0x318b9e=_0x53abdc[_0x3551('0x47')][_0x3551('0x24')]({'plain':!![]});if(!_0x318b9e)throw new Error(_0x3551('0x48'));if(_0x318b9e[_0x3551('0x49')]===_0x3551('0x47')){var _0x2570c9=_0x5abf5a[_0x3551('0x24')]({'plain':!![]});var _0x923a7e='Intervals';return db[_0x3551('0x4a')][_0x3551('0x45')]({'where':{'name':_0x923a7e,'userProfileId':_0x318b9e[_0x3551('0x4b')]},'raw':!![]})['then'](function(_0x41bce6){if(_0x41bce6&&_0x41bce6[_0x3551('0x4c')]===0x0){return db[_0x3551('0x4d')][_0x3551('0x46')]({'name':_0x2570c9[_0x3551('0x27')],'resourceId':_0x2570c9['id'],'type':_0x41bce6['name'],'sectionId':_0x41bce6['id']},{})['then'](function(){return _0x5abf5a;});}else{return _0x5abf5a;}})[_0x3551('0x41')](function(_0x1e53bd){logger['error'](_0x3551('0x4e'),_0x1e53bd);throw _0x1e53bd;});}return _0x5abf5a;})[_0x3551('0x22')](respondWithResult(_0x1dc7e2,0xc9))[_0x3551('0x41')](handleError(_0x1dc7e2,null));};exports[_0x3551('0x4f')]=function(_0x59361c,_0xea9dab){if(_0x59361c[_0x3551('0x50')]['id']){delete _0x59361c[_0x3551('0x50')]['id'];}return db['Interval'][_0x3551('0x45')]({'where':{'id':_0x59361c[_0x3551('0x51')]['id']}})[_0x3551('0x22')](handleEntityNotFound(_0xea9dab,null))[_0x3551('0x22')](saveUpdates(_0x59361c[_0x3551('0x50')],null))[_0x3551('0x22')](respondWithResult(_0xea9dab,null))[_0x3551('0x41')](handleError(_0xea9dab,null));};exports['destroy']=function(_0x1509a0,_0x56d0fb){return db['Interval'][_0x3551('0x45')]({'where':{'id':_0x1509a0[_0x3551('0x51')]['id']}})[_0x3551('0x22')](handleEntityNotFound(_0x56d0fb,null))[_0x3551('0x22')](removeEntity(_0x56d0fb,null))[_0x3551('0x41')](handleError(_0x56d0fb,null));};exports[_0x3551('0x52')]=function(_0x5e97e5,_0x2c9368,_0x5bca69){if(_0x5e97e5[_0x3551('0x50')]['id']){delete _0x5e97e5[_0x3551('0x50')]['id'];}return db['Interval'][_0x3551('0x45')]({'where':{'id':_0x5e97e5[_0x3551('0x51')]['id']}})[_0x3551('0x22')](handleEntityNotFound(_0x2c9368,null))[_0x3551('0x22')](function(_0x317be0){if(_0x317be0){_0x5e97e5[_0x3551('0x50')][_0x3551('0x53')]=_0x317be0['id'];return db['Interval'][_0x3551('0x46')](_0x5e97e5[_0x3551('0x50')]);}})[_0x3551('0x22')](respondWithResult(_0x2c9368,null))[_0x3551('0x41')](handleError(_0x2c9368,null));};exports['getIntervals']=function(_0x4b5496,_0x39c968,_0x5c3322){var _0x3f9ade={};var _0x561e2d={};var _0x4bbe90;var _0x12a19f;return db[_0x3551('0x2b')][_0x3551('0x54')]({'where':{'id':_0x4b5496[_0x3551('0x51')]['id']}})[_0x3551('0x22')](handleEntityNotFound(_0x39c968,null))[_0x3551('0x22')](function(_0x22019f){if(_0x22019f){_0x4bbe90=_0x22019f;_0x561e2d['model']=_[_0x3551('0x30')](db['Interval'][_0x3551('0x42')]);_0x561e2d[_0x3551('0x2f')]=_['keys'](_0x4b5496[_0x3551('0x2f')]);_0x561e2d[_0x3551('0x31')]=_[_0x3551('0x33')](_0x561e2d[_0x3551('0x2e')],_0x561e2d[_0x3551('0x2f')]);_0x3f9ade['attributes']=_[_0x3551('0x33')](_0x561e2d[_0x3551('0x2e')],qs['fields'](_0x4b5496[_0x3551('0x2f')][_0x3551('0x34')]));_0x3f9ade[_0x3551('0x32')]=_0x3f9ade[_0x3551('0x32')]['length']?_0x3f9ade[_0x3551('0x32')]:_0x561e2d[_0x3551('0x2e')];_0x3f9ade[_0x3551('0x38')]=qs[_0x3551('0x39')](_0x4b5496[_0x3551('0x2f')][_0x3551('0x39')]);_0x3f9ade[_0x3551('0x3c')]=qs['filters'](_[_0x3551('0x3a')](_0x4b5496[_0x3551('0x2f')],_0x561e2d[_0x3551('0x31')]));if(_0x4b5496['query'][_0x3551('0x3b')]){_0x3f9ade['where']=_[_0x3551('0x3d')](_0x3f9ade[_0x3551('0x3c')],{'$or':_[_0x3551('0x2a')](_0x3f9ade['attributes'],function(_0x2489bb){var _0x36d75a={};_0x36d75a[_0x2489bb]={'$like':'%'+_0x4b5496[_0x3551('0x2f')][_0x3551('0x3b')]+'%'};return _0x36d75a;})});}_0x3f9ade=_[_0x3551('0x3d')]({},_0x3f9ade,_0x4b5496['options']);return _0x4bbe90[_0x3551('0x55')](_0x3f9ade);}})[_0x3551('0x22')](function(_0x3ce986){if(_0x3ce986){_0x12a19f=_0x3ce986[_0x3551('0x35')];if(!_0x4b5496[_0x3551('0x2f')]['hasOwnProperty'](_0x3551('0x36'))){_0x3f9ade['limit']=qs['limit'](_0x4b5496['query']['limit']);_0x3f9ade['offset']=qs[_0x3551('0x1c')](_0x4b5496['query']['offset']);}return _0x4bbe90[_0x3551('0x55')](_0x3f9ade);}})[_0x3551('0x22')](function(_0x3b402d){if(_0x3b402d){return _0x3b402d?{'count':_0x12a19f,'rows':_0x3b402d}:null;}})[_0x3551('0x22')](respondWithResult(_0x39c968,null))[_0x3551('0x41')](handleError(_0x39c968,null));};exports[_0x3551('0x56')]=function(_0x4026f6,_0x43fd51,_0x5cfda9){return db[_0x3551('0x2b')]['findOne']({'where':{'id':_0x4026f6[_0x3551('0x51')]['id']}})[_0x3551('0x22')](handleEntityNotFound(_0x43fd51,null))[_0x3551('0x22')](function(_0x5aec96){if(_0x5aec96){return db[_0x3551('0x57')][_0x3551('0x58')](function(_0x3d9166){return db[_0x3551('0x2b')][_0x3551('0x23')]({'where':{'IntervalId':_0x4026f6[_0x3551('0x51')]['id']},'transaction':_0x3d9166})['then'](function(_0x597f45){var _0x1b6343=_[_0x3551('0x2a')](_0x4026f6[_0x3551('0x50')],function(_0x10cb3d){delete _0x10cb3d['id'];_0x10cb3d[_0x3551('0x53')]=_0x4026f6['params']['id'];return _0x10cb3d;});return db['Interval'][_0x3551('0x59')](_0x1b6343,{'transaction':_0x3d9166});});})[_0x3551('0x22')](function(){return db[_0x3551('0x2b')][_0x3551('0x40')]({'where':{'IntervalId':_0x4026f6['params']['id']}});});}})[_0x3551('0x22')](respondWithResult(_0x43fd51,null))[_0x3551('0x41')](handleError(_0x43fd51,null));};