Built motion from commit 9d1906d1.|2.5.40
[motion2.git] / server / api / pause / pause.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 _0x398c=['json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','get','Pauses','destroy','error','name','send','index','map','Pause','rawAttributes','model','query','keys','intersection','fields','length','attributes','order','sort','where','pick','filters','filter','merge','type','includeAll','include','catch','show','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status'];(function(_0x167cc1,_0x56ef5a){var _0x10bc4b=function(_0xd6a255){while(--_0xd6a255){_0x167cc1['push'](_0x167cc1['shift']());}};_0x10bc4b(++_0x56ef5a);}(_0x398c,0x123));var _0xc398=function(_0x12a4f9,_0x3f379a){_0x12a4f9=_0x12a4f9-0x0;var _0x9f834=_0x398c[_0x12a4f9];return _0x9f834;};'use strict';var emlformat=require(_0xc398('0x0'));var rimraf=require(_0xc398('0x1'));var zipdir=require(_0xc398('0x2'));var jsonpatch=require(_0xc398('0x3'));var rp=require(_0xc398('0x4'));var moment=require(_0xc398('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xc398('0x6'));var util=require(_0xc398('0x7'));var path=require('path');var sox=require(_0xc398('0x8'));var csv=require(_0xc398('0x9'));var ejs=require(_0xc398('0xa'));var fs=require('fs');var fs_extra=require(_0xc398('0xb'));var _=require(_0xc398('0xc'));var squel=require(_0xc398('0xd'));var crypto=require(_0xc398('0xe'));var jsforce=require(_0xc398('0xf'));var deskjs=require(_0xc398('0x10'));var toCsv=require('to-csv');var querystring=require(_0xc398('0x11'));var Papa=require(_0xc398('0x12'));var Redis=require('ioredis');var authService=require(_0xc398('0x13'));var qs=require(_0xc398('0x14'));var as=require(_0xc398('0x15'));var hardwareService=require(_0xc398('0x16'));var logger=require(_0xc398('0x17'))(_0xc398('0x18'));var utils=require('../../config/utils');var config=require(_0xc398('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xc398('0x1a'))['db'];function respondWithStatusCode(_0x3ff098,_0x52eb34){_0x52eb34=_0x52eb34||0xcc;return function(_0x512aeb){if(_0x512aeb){return _0x3ff098[_0xc398('0x1b')](_0x52eb34);}return _0x3ff098['status'](_0x52eb34)['end']();};}function respondWithResult(_0x11b69b,_0x51d07f){_0x51d07f=_0x51d07f||0xc8;return function(_0xfe0f80){if(_0xfe0f80){return _0x11b69b[_0xc398('0x1c')](_0x51d07f)[_0xc398('0x1d')](_0xfe0f80);}};}function respondWithFilteredResult(_0x151cab,_0x147faa){return function(_0x2112af){if(_0x2112af){var _0x51eb45=typeof _0x147faa[_0xc398('0x1e')]===_0xc398('0x1f')&&typeof _0x147faa[_0xc398('0x20')]===_0xc398('0x1f');var _0x1b7da0=_0x2112af[_0xc398('0x21')];var _0x4b9f2b=_0x51eb45?0x0:_0x147faa[_0xc398('0x1e')];var _0x25e881=_0x51eb45?_0x2112af['count']:_0x147faa[_0xc398('0x1e')]+_0x147faa[_0xc398('0x20')];var _0x589ab1;if(_0x25e881>=_0x1b7da0){_0x25e881=_0x1b7da0;_0x589ab1=0xc8;}else{_0x589ab1=0xce;}_0x151cab[_0xc398('0x1c')](_0x589ab1);return _0x151cab['set'](_0xc398('0x22'),_0x4b9f2b+'-'+_0x25e881+'/'+_0x1b7da0)[_0xc398('0x1d')](_0x2112af);}return null;};}function patchUpdates(_0x280319){return function(_0x29dffe){try{jsonpatch[_0xc398('0x23')](_0x29dffe,_0x280319,!![]);}catch(_0x3c9fee){return BPromise[_0xc398('0x24')](_0x3c9fee);}return _0x29dffe['save']();};}function saveUpdates(_0x353c63,_0x3fb340){return function(_0x50585e){if(_0x50585e){return _0x50585e[_0xc398('0x25')](_0x353c63)[_0xc398('0x26')](function(_0x5d2bb0){return _0x5d2bb0;});}return null;};}function removeEntity(_0x1ccff0,_0x571297){return function(_0x431c34){if(_0x431c34){return _0x431c34['destroy']()[_0xc398('0x26')](function(){var _0x41f3b0=_0x431c34[_0xc398('0x27')]({'plain':!![]});var _0x176b14=_0xc398('0x28');return db['UserProfileResource'][_0xc398('0x29')]({'where':{'type':_0x176b14,'resourceId':_0x41f3b0['id']}})[_0xc398('0x26')](function(){return _0x431c34;});})['then'](function(){_0x1ccff0['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x497bbb,_0x35356c){return function(_0x1e5636){if(!_0x1e5636){_0x497bbb[_0xc398('0x1b')](0x194);}return _0x1e5636;};}function handleError(_0x2ef4a1,_0x1bd290){_0x1bd290=_0x1bd290||0x1f4;return function(_0x20225f){logger[_0xc398('0x2a')](_0x20225f['stack']);if(_0x20225f[_0xc398('0x2b')]){delete _0x20225f[_0xc398('0x2b')];}_0x2ef4a1[_0xc398('0x1c')](_0x1bd290)[_0xc398('0x2c')](_0x20225f);};}exports[_0xc398('0x2d')]=function(_0x19adc6,_0x42d5bc){var _0x493817={},_0x5a1f9c={},_0x254bd3={'count':0x0,'rows':[]};var _0xa1bbfb=_[_0xc398('0x2e')](db[_0xc398('0x2f')][_0xc398('0x30')],function(_0x1fcc8b){return{'name':_0x1fcc8b['fieldName'],'type':_0x1fcc8b['type']['key']};});_0x5a1f9c[_0xc398('0x31')]=_['map'](_0xa1bbfb,_0xc398('0x2b'));_0x5a1f9c[_0xc398('0x32')]=_[_0xc398('0x33')](_0x19adc6['query']);_0x5a1f9c['filters']=_[_0xc398('0x34')](_0x5a1f9c[_0xc398('0x31')],_0x5a1f9c['query']);_0x493817['attributes']=_[_0xc398('0x34')](_0x5a1f9c[_0xc398('0x31')],qs[_0xc398('0x35')](_0x19adc6[_0xc398('0x32')][_0xc398('0x35')]));_0x493817['attributes']=_0x493817['attributes'][_0xc398('0x36')]?_0x493817[_0xc398('0x37')]:_0x5a1f9c[_0xc398('0x31')];if(!_0x19adc6[_0xc398('0x32')]['hasOwnProperty']('nolimit')){_0x493817[_0xc398('0x20')]=qs[_0xc398('0x20')](_0x19adc6[_0xc398('0x32')][_0xc398('0x20')]);_0x493817['offset']=qs['offset'](_0x19adc6['query'][_0xc398('0x1e')]);}_0x493817[_0xc398('0x38')]=qs[_0xc398('0x39')](_0x19adc6[_0xc398('0x32')][_0xc398('0x39')]);_0x493817[_0xc398('0x3a')]=qs['filters'](_[_0xc398('0x3b')](_0x19adc6['query'],_0x5a1f9c[_0xc398('0x3c')]),_0xa1bbfb);if(_0x19adc6['query'][_0xc398('0x3d')]){_0x493817[_0xc398('0x3a')]=_[_0xc398('0x3e')](_0x493817[_0xc398('0x3a')],{'$or':_['map'](_0xa1bbfb,function(_0x2cc988){if(_0x2cc988[_0xc398('0x3f')]!=='VIRTUAL'){var _0x41a5b1={};_0x41a5b1[_0x2cc988['name']]={'$like':'%'+_0x19adc6[_0xc398('0x32')][_0xc398('0x3d')]+'%'};return _0x41a5b1;}})});}_0x493817=_[_0xc398('0x3e')]({},_0x493817,_0x19adc6['options']);var _0x4b994a={'where':_0x493817[_0xc398('0x3a')]};return db['Pause'][_0xc398('0x21')](_0x4b994a)['then'](function(_0x434878){_0x254bd3[_0xc398('0x21')]=_0x434878;if(_0x19adc6[_0xc398('0x32')][_0xc398('0x40')]){_0x493817[_0xc398('0x41')]=[{'all':!![]}];}return db['Pause']['findAll'](_0x493817);})[_0xc398('0x26')](function(_0x4e9fba){_0x254bd3['rows']=_0x4e9fba;return _0x254bd3;})[_0xc398('0x26')](respondWithFilteredResult(_0x42d5bc,_0x493817))[_0xc398('0x42')](handleError(_0x42d5bc,null));};exports[_0xc398('0x43')]=function(_0x522e0c,_0x2f6543){var _0x55d82d={'raw':!![],'where':{'id':_0x522e0c['params']['id']}},_0x6bf611={};_0x6bf611['model']=_['keys'](db[_0xc398('0x2f')][_0xc398('0x30')]);_0x6bf611[_0xc398('0x32')]=_[_0xc398('0x33')](_0x522e0c[_0xc398('0x32')]);_0x6bf611[_0xc398('0x3c')]=_[_0xc398('0x34')](_0x6bf611[_0xc398('0x31')],_0x6bf611['query']);_0x55d82d[_0xc398('0x37')]=_[_0xc398('0x34')](_0x6bf611[_0xc398('0x31')],qs[_0xc398('0x35')](_0x522e0c[_0xc398('0x32')]['fields']));_0x55d82d[_0xc398('0x37')]=_0x55d82d[_0xc398('0x37')][_0xc398('0x36')]?_0x55d82d[_0xc398('0x37')]:_0x6bf611['model'];if(_0x522e0c[_0xc398('0x32')][_0xc398('0x40')]){_0x55d82d[_0xc398('0x41')]=[{'all':!![]}];}_0x55d82d=_[_0xc398('0x3e')]({},_0x55d82d,_0x522e0c[_0xc398('0x44')]);return db['Pause'][_0xc398('0x45')](_0x55d82d)[_0xc398('0x26')](handleEntityNotFound(_0x2f6543,null))[_0xc398('0x26')](respondWithResult(_0x2f6543,null))[_0xc398('0x42')](handleError(_0x2f6543,null));};exports['create']=function(_0x4133e3,_0xe1b806){return db[_0xc398('0x2f')][_0xc398('0x46')](_0x4133e3[_0xc398('0x47')],{})['then'](function(_0x119bf5){var _0x431747=_0x4133e3[_0xc398('0x48')][_0xc398('0x27')]({'plain':!![]});if(!_0x431747)throw new Error(_0xc398('0x49'));if(_0x431747['role']===_0xc398('0x48')){var _0x4f2773=_0x119bf5['get']({'plain':!![]});var _0x36d81e=_0xc398('0x28');return db[_0xc398('0x4a')][_0xc398('0x45')]({'where':{'name':_0x36d81e,'userProfileId':_0x431747[_0xc398('0x4b')]},'raw':!![]})[_0xc398('0x26')](function(_0x211363){if(_0x211363&&_0x211363[_0xc398('0x4c')]===0x0){return db[_0xc398('0x4d')][_0xc398('0x46')]({'name':_0x4f2773['name'],'resourceId':_0x4f2773['id'],'type':_0x211363[_0xc398('0x2b')],'sectionId':_0x211363['id']},{})[_0xc398('0x26')](function(){return _0x119bf5;});}else{return _0x119bf5;}})[_0xc398('0x42')](function(_0x1feac1){logger['error'](_0xc398('0x4e'),_0x1feac1);throw _0x1feac1;});}return _0x119bf5;})[_0xc398('0x26')](respondWithResult(_0xe1b806,0xc9))[_0xc398('0x42')](handleError(_0xe1b806,null));};exports['update']=function(_0x528e23,_0x315202){if(_0x528e23[_0xc398('0x47')]['id']){delete _0x528e23[_0xc398('0x47')]['id'];}return db[_0xc398('0x2f')][_0xc398('0x45')]({'where':{'id':_0x528e23[_0xc398('0x4f')]['id']}})['then'](handleEntityNotFound(_0x315202,null))[_0xc398('0x26')](saveUpdates(_0x528e23[_0xc398('0x47')],null))[_0xc398('0x26')](respondWithResult(_0x315202,null))[_0xc398('0x42')](handleError(_0x315202,null));};exports[_0xc398('0x29')]=function(_0x186708,_0x4cf44a){return db[_0xc398('0x2f')][_0xc398('0x45')]({'where':{'id':_0x186708[_0xc398('0x4f')]['id']}})[_0xc398('0x26')](handleEntityNotFound(_0x4cf44a,null))[_0xc398('0x26')](removeEntity(_0x4cf44a,null))[_0xc398('0x42')](handleError(_0x4cf44a,null));};