Built motion from commit 9d0783e6.|2.6.13
[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 _0x6d8b=['rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/extensions/rewrite','sendStatus','end','json','offset','undefined','count','limit','status','Content-Range','reject','update','destroy','then','get','Intervals','error','stack','name','map','Interval','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','merge','where','VIRTUAL','filter','includeAll','include','rows','catch','show','params','options','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','addInterval','IntervalId','findOne','getIntervals','addIntervals','sequelize','transaction','bulkCreate','findAll','eml-format'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6d8b,0x125));var _0xb6d8=function(_0x4ed1d,_0x170a36){_0x4ed1d=_0x4ed1d-0x0;var _0x2d0a69=_0x6d8b[_0x4ed1d];return _0x2d0a69;};'use strict';var emlformat=require(_0xb6d8('0x0'));var rimraf=require(_0xb6d8('0x1'));var zipdir=require(_0xb6d8('0x2'));var jsonpatch=require(_0xb6d8('0x3'));var rp=require(_0xb6d8('0x4'));var moment=require('moment');var BPromise=require(_0xb6d8('0x5'));var Mustache=require(_0xb6d8('0x6'));var util=require(_0xb6d8('0x7'));var path=require(_0xb6d8('0x8'));var sox=require(_0xb6d8('0x9'));var csv=require(_0xb6d8('0xa'));var ejs=require(_0xb6d8('0xb'));var fs=require('fs');var fs_extra=require(_0xb6d8('0xc'));var _=require(_0xb6d8('0xd'));var squel=require(_0xb6d8('0xe'));var crypto=require(_0xb6d8('0xf'));var jsforce=require(_0xb6d8('0x10'));var deskjs=require(_0xb6d8('0x11'));var toCsv=require(_0xb6d8('0xa'));var querystring=require(_0xb6d8('0x12'));var Papa=require(_0xb6d8('0x13'));var Redis=require(_0xb6d8('0x14'));var authService=require(_0xb6d8('0x15'));var qs=require(_0xb6d8('0x16'));var as=require(_0xb6d8('0x17'));var hardwareService=require(_0xb6d8('0x18'));var logger=require(_0xb6d8('0x19'))(_0xb6d8('0x1a'));var utils=require(_0xb6d8('0x1b'));var config=require(_0xb6d8('0x1c'));var licenseUtil=require(_0xb6d8('0x1d'));var db=require(_0xb6d8('0x1e'))['db'];var extensions=require(_0xb6d8('0x1f'));function respondWithStatusCode(_0x11f6e5,_0x37f05f){_0x37f05f=_0x37f05f||0xcc;return function(_0x4573a0){if(_0x4573a0){return _0x11f6e5[_0xb6d8('0x20')](_0x37f05f);}return _0x11f6e5['status'](_0x37f05f)[_0xb6d8('0x21')]();};}function respondWithResult(_0x554bdb,_0x2579c3){_0x2579c3=_0x2579c3||0xc8;return function(_0x33b000){if(_0x33b000){return _0x554bdb['status'](_0x2579c3)[_0xb6d8('0x22')](_0x33b000);}};}function respondWithFilteredResult(_0x2afc5c,_0x38ab80){return function(_0x5a9c5d){if(_0x5a9c5d){var _0x45b928=typeof _0x38ab80[_0xb6d8('0x23')]===_0xb6d8('0x24')&&typeof _0x38ab80['limit']==='undefined';var _0x49635f=_0x5a9c5d[_0xb6d8('0x25')];var _0x4b6b4c=_0x45b928?0x0:_0x38ab80[_0xb6d8('0x23')];var _0x36ab02=_0x45b928?_0x5a9c5d[_0xb6d8('0x25')]:_0x38ab80[_0xb6d8('0x23')]+_0x38ab80[_0xb6d8('0x26')];var _0x3cdc18;if(_0x36ab02>=_0x49635f){_0x36ab02=_0x49635f;_0x3cdc18=0xc8;}else{_0x3cdc18=0xce;}_0x2afc5c[_0xb6d8('0x27')](_0x3cdc18);return _0x2afc5c['set'](_0xb6d8('0x28'),_0x4b6b4c+'-'+_0x36ab02+'/'+_0x49635f)[_0xb6d8('0x22')](_0x5a9c5d);}return null;};}function patchUpdates(_0x25da83){return function(_0x427037){try{jsonpatch['apply'](_0x427037,_0x25da83,!![]);}catch(_0x210720){return BPromise[_0xb6d8('0x29')](_0x210720);}return _0x427037['save']();};}function saveUpdates(_0x7cbef2,_0x456ce6){return function(_0x4c7a8b){if(_0x4c7a8b){return _0x4c7a8b[_0xb6d8('0x2a')](_0x7cbef2)['then'](function(_0x2a0a0b){return _0x2a0a0b;});}return null;};}function removeEntity(_0x50a581,_0xadbe92){return function(_0x3d069a){if(_0x3d069a){return _0x3d069a[_0xb6d8('0x2b')]()[_0xb6d8('0x2c')](function(){var _0x230b88=_0x3d069a[_0xb6d8('0x2d')]({'plain':!![]});var _0x19d589=_0xb6d8('0x2e');return db['UserProfileResource'][_0xb6d8('0x2b')]({'where':{'type':_0x19d589,'resourceId':_0x230b88['id']}})[_0xb6d8('0x2c')](function(){return _0x3d069a;});})['then'](function(){_0x50a581[_0xb6d8('0x27')](0xcc)[_0xb6d8('0x21')]();});}};}function handleEntityNotFound(_0x6fb558,_0x4f193a){return function(_0x5a0edf){if(!_0x5a0edf){_0x6fb558['sendStatus'](0x194);}return _0x5a0edf;};}function handleError(_0x5b38e2,_0x3de3f2){_0x3de3f2=_0x3de3f2||0x1f4;return function(_0x540f3d){logger[_0xb6d8('0x2f')](_0x540f3d[_0xb6d8('0x30')]);if(_0x540f3d[_0xb6d8('0x31')]){delete _0x540f3d[_0xb6d8('0x31')];}_0x5b38e2[_0xb6d8('0x27')](_0x3de3f2)['send'](_0x540f3d);};}exports['index']=function(_0x125615,_0x4a9689){var _0x59a9ca={},_0x4be98e={},_0x39d32a={'count':0x0,'rows':[]};var _0x3e5980=_[_0xb6d8('0x32')](db[_0xb6d8('0x33')][_0xb6d8('0x34')],function(_0x137205){return{'name':_0x137205[_0xb6d8('0x35')],'type':_0x137205[_0xb6d8('0x36')][_0xb6d8('0x37')]};});_0x4be98e['model']=_[_0xb6d8('0x32')](_0x3e5980,_0xb6d8('0x31'));_0x4be98e[_0xb6d8('0x38')]=_[_0xb6d8('0x39')](_0x125615[_0xb6d8('0x38')]);_0x4be98e[_0xb6d8('0x3a')]=_[_0xb6d8('0x3b')](_0x4be98e[_0xb6d8('0x3c')],_0x4be98e['query']);_0x59a9ca[_0xb6d8('0x3d')]=_[_0xb6d8('0x3b')](_0x4be98e[_0xb6d8('0x3c')],qs[_0xb6d8('0x3e')](_0x125615[_0xb6d8('0x38')][_0xb6d8('0x3e')]));_0x59a9ca[_0xb6d8('0x3d')]=_0x59a9ca[_0xb6d8('0x3d')][_0xb6d8('0x3f')]?_0x59a9ca[_0xb6d8('0x3d')]:_0x4be98e[_0xb6d8('0x3c')];if(!_0x125615[_0xb6d8('0x38')][_0xb6d8('0x40')](_0xb6d8('0x41'))){_0x59a9ca['limit']=qs[_0xb6d8('0x26')](_0x125615['query'][_0xb6d8('0x26')]);_0x59a9ca[_0xb6d8('0x23')]=qs[_0xb6d8('0x23')](_0x125615['query']['offset']);}_0x59a9ca[_0xb6d8('0x42')]=qs[_0xb6d8('0x43')](_0x125615[_0xb6d8('0x38')]['sort']);_0x59a9ca['where']=qs[_0xb6d8('0x3a')](_['pick'](_0x125615['query'],_0x4be98e[_0xb6d8('0x3a')]),_0x3e5980);if(_0x125615['query']['filter']){_0x59a9ca['where']=_[_0xb6d8('0x44')](_0x59a9ca[_0xb6d8('0x45')],{'$or':_['map'](_0x3e5980,function(_0x20228f){if(_0x20228f[_0xb6d8('0x36')]!==_0xb6d8('0x46')){var _0x2a7317={};_0x2a7317[_0x20228f['name']]={'$like':'%'+_0x125615[_0xb6d8('0x38')][_0xb6d8('0x47')]+'%'};return _0x2a7317;}})});}_0x59a9ca=_[_0xb6d8('0x44')]({},_0x59a9ca,_0x125615['options']);var _0x36f3ca={'where':_0x59a9ca[_0xb6d8('0x45')]};return db[_0xb6d8('0x33')]['count'](_0x36f3ca)[_0xb6d8('0x2c')](function(_0x474e2e){_0x39d32a[_0xb6d8('0x25')]=_0x474e2e;if(_0x125615[_0xb6d8('0x38')][_0xb6d8('0x48')]){_0x59a9ca[_0xb6d8('0x49')]=[{'all':!![]}];}return db[_0xb6d8('0x33')]['findAll'](_0x59a9ca);})['then'](function(_0x4abc0d){_0x39d32a[_0xb6d8('0x4a')]=_0x4abc0d;return _0x39d32a;})[_0xb6d8('0x2c')](respondWithFilteredResult(_0x4a9689,_0x59a9ca))[_0xb6d8('0x4b')](handleError(_0x4a9689,null));};exports[_0xb6d8('0x4c')]=function(_0x34be6e,_0x221cfd){var _0xaef064={'raw':!![],'where':{'id':_0x34be6e[_0xb6d8('0x4d')]['id']}},_0x409d0d={};_0x409d0d[_0xb6d8('0x3c')]=_[_0xb6d8('0x39')](db[_0xb6d8('0x33')]['rawAttributes']);_0x409d0d[_0xb6d8('0x38')]=_[_0xb6d8('0x39')](_0x34be6e['query']);_0x409d0d[_0xb6d8('0x3a')]=_[_0xb6d8('0x3b')](_0x409d0d[_0xb6d8('0x3c')],_0x409d0d[_0xb6d8('0x38')]);_0xaef064[_0xb6d8('0x3d')]=_[_0xb6d8('0x3b')](_0x409d0d[_0xb6d8('0x3c')],qs[_0xb6d8('0x3e')](_0x34be6e['query']['fields']));_0xaef064[_0xb6d8('0x3d')]=_0xaef064['attributes'][_0xb6d8('0x3f')]?_0xaef064['attributes']:_0x409d0d[_0xb6d8('0x3c')];if(_0x34be6e[_0xb6d8('0x38')][_0xb6d8('0x48')]){_0xaef064[_0xb6d8('0x49')]=[{'all':!![]}];}_0xaef064=_[_0xb6d8('0x44')]({},_0xaef064,_0x34be6e[_0xb6d8('0x4e')]);return db['Interval']['find'](_0xaef064)['then'](handleEntityNotFound(_0x221cfd,null))[_0xb6d8('0x2c')](respondWithResult(_0x221cfd,null))['catch'](handleError(_0x221cfd,null));};exports[_0xb6d8('0x4f')]=function(_0x14b642,_0x48fe55){return db[_0xb6d8('0x33')][_0xb6d8('0x4f')](_0x14b642[_0xb6d8('0x50')],{})[_0xb6d8('0x2c')](function(_0x5dbfd4){var _0x25aa2c=_0x14b642['user'][_0xb6d8('0x2d')]({'plain':!![]});if(!_0x25aa2c)throw new Error(_0xb6d8('0x51'));if(_0x25aa2c['role']===_0xb6d8('0x52')){var _0x449f2a=_0x5dbfd4[_0xb6d8('0x2d')]({'plain':!![]});var _0x4ad3d9=_0xb6d8('0x2e');return db[_0xb6d8('0x53')]['find']({'where':{'name':_0x4ad3d9,'userProfileId':_0x25aa2c[_0xb6d8('0x54')]},'raw':!![]})['then'](function(_0x3e91e2){if(_0x3e91e2&&_0x3e91e2[_0xb6d8('0x55')]===0x0){return db[_0xb6d8('0x56')][_0xb6d8('0x4f')]({'name':_0x449f2a['name'],'resourceId':_0x449f2a['id'],'type':_0x3e91e2[_0xb6d8('0x31')],'sectionId':_0x3e91e2['id']},{})[_0xb6d8('0x2c')](function(){return _0x5dbfd4;});}else{return _0x5dbfd4;}})['catch'](function(_0x218e6f){logger[_0xb6d8('0x2f')](_0xb6d8('0x57'),_0x218e6f);throw _0x218e6f;});}return _0x5dbfd4;})['then'](respondWithResult(_0x48fe55,0xc9))[_0xb6d8('0x4b')](handleError(_0x48fe55,null));};exports['update']=function(_0x5d3ce0,_0x3e1ef0){if(_0x5d3ce0[_0xb6d8('0x50')]['id']){delete _0x5d3ce0['body']['id'];}return db[_0xb6d8('0x33')][_0xb6d8('0x58')]({'where':{'id':_0x5d3ce0[_0xb6d8('0x4d')]['id']}})[_0xb6d8('0x2c')](handleEntityNotFound(_0x3e1ef0,null))[_0xb6d8('0x2c')](saveUpdates(_0x5d3ce0['body'],null))[_0xb6d8('0x2c')](respondWithResult(_0x3e1ef0,null))['catch'](handleError(_0x3e1ef0,null));};exports['destroy']=function(_0x47ae58,_0x888536){return db[_0xb6d8('0x33')][_0xb6d8('0x58')]({'where':{'id':_0x47ae58['params']['id']}})['then'](handleEntityNotFound(_0x888536,null))[_0xb6d8('0x2c')](removeEntity(_0x888536,null))[_0xb6d8('0x4b')](handleError(_0x888536,null));};exports[_0xb6d8('0x59')]=function(_0x55f77c,_0x2becc0,_0x5f0e80){if(_0x55f77c[_0xb6d8('0x50')]['id']){delete _0x55f77c[_0xb6d8('0x50')]['id'];}return db[_0xb6d8('0x33')]['find']({'where':{'id':_0x55f77c[_0xb6d8('0x4d')]['id']}})[_0xb6d8('0x2c')](handleEntityNotFound(_0x2becc0,null))[_0xb6d8('0x2c')](function(_0x8893bf){if(_0x8893bf){_0x55f77c[_0xb6d8('0x50')][_0xb6d8('0x5a')]=_0x8893bf['id'];return db[_0xb6d8('0x33')][_0xb6d8('0x4f')](_0x55f77c[_0xb6d8('0x50')]);}})[_0xb6d8('0x2c')](respondWithResult(_0x2becc0,null))[_0xb6d8('0x4b')](handleError(_0x2becc0,null));};exports['getIntervals']=function(_0x1216ef,_0x462e22,_0x5dcbf7){var _0x2af5a6={};var _0x3ee2e4={};var _0x85fb2a;var _0x1a1885;return db['Interval'][_0xb6d8('0x5b')]({'where':{'id':_0x1216ef[_0xb6d8('0x4d')]['id']}})['then'](handleEntityNotFound(_0x462e22,null))[_0xb6d8('0x2c')](function(_0x443bce){if(_0x443bce){_0x85fb2a=_0x443bce;_0x3ee2e4[_0xb6d8('0x3c')]=_[_0xb6d8('0x39')](db[_0xb6d8('0x33')][_0xb6d8('0x34')]);_0x3ee2e4[_0xb6d8('0x38')]=_[_0xb6d8('0x39')](_0x1216ef['query']);_0x3ee2e4[_0xb6d8('0x3a')]=_[_0xb6d8('0x3b')](_0x3ee2e4['model'],_0x3ee2e4[_0xb6d8('0x38')]);_0x2af5a6[_0xb6d8('0x3d')]=_[_0xb6d8('0x3b')](_0x3ee2e4[_0xb6d8('0x3c')],qs[_0xb6d8('0x3e')](_0x1216ef[_0xb6d8('0x38')][_0xb6d8('0x3e')]));_0x2af5a6[_0xb6d8('0x3d')]=_0x2af5a6[_0xb6d8('0x3d')][_0xb6d8('0x3f')]?_0x2af5a6[_0xb6d8('0x3d')]:_0x3ee2e4[_0xb6d8('0x3c')];_0x2af5a6['order']=qs[_0xb6d8('0x43')](_0x1216ef['query'][_0xb6d8('0x43')]);_0x2af5a6[_0xb6d8('0x45')]=qs[_0xb6d8('0x3a')](_['pick'](_0x1216ef[_0xb6d8('0x38')],_0x3ee2e4[_0xb6d8('0x3a')]));if(_0x1216ef['query'][_0xb6d8('0x47')]){_0x2af5a6[_0xb6d8('0x45')]=_[_0xb6d8('0x44')](_0x2af5a6['where'],{'$or':_[_0xb6d8('0x32')](_0x2af5a6['attributes'],function(_0x5ee293){var _0x4ced79={};_0x4ced79[_0x5ee293]={'$like':'%'+_0x1216ef['query'][_0xb6d8('0x47')]+'%'};return _0x4ced79;})});}_0x2af5a6=_[_0xb6d8('0x44')]({},_0x2af5a6,_0x1216ef[_0xb6d8('0x4e')]);return _0x85fb2a[_0xb6d8('0x5c')](_0x2af5a6);}})['then'](function(_0x31e04d){if(_0x31e04d){_0x1a1885=_0x31e04d[_0xb6d8('0x3f')];if(!_0x1216ef[_0xb6d8('0x38')][_0xb6d8('0x40')](_0xb6d8('0x41'))){_0x2af5a6[_0xb6d8('0x26')]=qs[_0xb6d8('0x26')](_0x1216ef[_0xb6d8('0x38')]['limit']);_0x2af5a6[_0xb6d8('0x23')]=qs[_0xb6d8('0x23')](_0x1216ef[_0xb6d8('0x38')][_0xb6d8('0x23')]);}return _0x85fb2a['getIntervals'](_0x2af5a6);}})[_0xb6d8('0x2c')](function(_0x5d5d11){if(_0x5d5d11){return _0x5d5d11?{'count':_0x1a1885,'rows':_0x5d5d11}:null;}})[_0xb6d8('0x2c')](respondWithResult(_0x462e22,null))[_0xb6d8('0x4b')](handleError(_0x462e22,null));};exports[_0xb6d8('0x5d')]=function(_0x472fd7,_0x43b2d2,_0x19364d){return db[_0xb6d8('0x33')][_0xb6d8('0x5b')]({'where':{'id':_0x472fd7[_0xb6d8('0x4d')]['id']}})[_0xb6d8('0x2c')](handleEntityNotFound(_0x43b2d2,null))['then'](function(_0x3a3ca8){if(_0x3a3ca8){return db[_0xb6d8('0x5e')][_0xb6d8('0x5f')](function(_0xadbe6f){return db[_0xb6d8('0x33')][_0xb6d8('0x2b')]({'where':{'IntervalId':_0x472fd7[_0xb6d8('0x4d')]['id']},'transaction':_0xadbe6f})[_0xb6d8('0x2c')](function(_0x262749){var _0x164f1=_['map'](_0x472fd7[_0xb6d8('0x50')],function(_0x4afc64){delete _0x4afc64['id'];_0x4afc64[_0xb6d8('0x5a')]=_0x472fd7['params']['id'];return _0x4afc64;});return db['Interval'][_0xb6d8('0x60')](_0x164f1,{'transaction':_0xadbe6f});});})[_0xb6d8('0x2c')](function(){return db[_0xb6d8('0x33')][_0xb6d8('0x61')]({'where':{'IntervalId':_0x472fd7[_0xb6d8('0x4d')]['id']}});});}})['then'](respondWithResult(_0x43b2d2,null))[_0xb6d8('0x4b')](handleError(_0x43b2d2,null));};