Built motion from commit 9d7072cc.|2.5.39
[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 _0x4702=['send','index','map','rawAttributes','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','filters','pick','type','filter','merge','options','Pause','findAll','catch','show','keys','includeAll','include','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','fast-json-patch','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','offset','count','limit','Content-Range','apply','reject','save','update','then','Pauses','UserProfileResource','destroy','end','error','name'];(function(_0x51674a,_0x77ccff){var _0x13fca6=function(_0x3d6c27){while(--_0x3d6c27){_0x51674a['push'](_0x51674a['shift']());}};_0x13fca6(++_0x77ccff);}(_0x4702,0x70));var _0x2470=function(_0x324f15,_0x37d5fa){_0x324f15=_0x324f15-0x0;var _0x5e3134=_0x4702[_0x324f15];return _0x5e3134;};'use strict';var emlformat=require(_0x2470('0x0'));var rimraf=require(_0x2470('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2470('0x2'));var rp=require('request-promise');var moment=require(_0x2470('0x3'));var BPromise=require(_0x2470('0x4'));var Mustache=require('mustache');var util=require(_0x2470('0x5'));var path=require(_0x2470('0x6'));var sox=require(_0x2470('0x7'));var csv=require(_0x2470('0x8'));var ejs=require(_0x2470('0x9'));var fs=require('fs');var fs_extra=require(_0x2470('0xa'));var _=require(_0x2470('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2470('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x2470('0x8'));var querystring=require(_0x2470('0xd'));var Papa=require('papaparse');var Redis=require(_0x2470('0xe'));var authService=require(_0x2470('0xf'));var qs=require(_0x2470('0x10'));var as=require(_0x2470('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2470('0x12'))(_0x2470('0x13'));var utils=require(_0x2470('0x14'));var config=require(_0x2470('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x2470('0x16'))['db'];function respondWithStatusCode(_0x2e72fb,_0x418b86){_0x418b86=_0x418b86||0xcc;return function(_0x29c15d){if(_0x29c15d){return _0x2e72fb['sendStatus'](_0x418b86);}return _0x2e72fb[_0x2470('0x17')](_0x418b86)['end']();};}function respondWithResult(_0x4fa132,_0x3d31f4){_0x3d31f4=_0x3d31f4||0xc8;return function(_0x2723cb){if(_0x2723cb){return _0x4fa132[_0x2470('0x17')](_0x3d31f4)[_0x2470('0x18')](_0x2723cb);}};}function respondWithFilteredResult(_0x2497c6,_0x4d6a6d){return function(_0x567082){if(_0x567082){var _0x18a849=typeof _0x4d6a6d[_0x2470('0x19')]==='undefined'&&typeof _0x4d6a6d['limit']==='undefined';var _0x20835f=_0x567082[_0x2470('0x1a')];var _0x4269c1=_0x18a849?0x0:_0x4d6a6d[_0x2470('0x19')];var _0x38d6b0=_0x18a849?_0x567082[_0x2470('0x1a')]:_0x4d6a6d[_0x2470('0x19')]+_0x4d6a6d[_0x2470('0x1b')];var _0x21e374;if(_0x38d6b0>=_0x20835f){_0x38d6b0=_0x20835f;_0x21e374=0xc8;}else{_0x21e374=0xce;}_0x2497c6[_0x2470('0x17')](_0x21e374);return _0x2497c6['set'](_0x2470('0x1c'),_0x4269c1+'-'+_0x38d6b0+'/'+_0x20835f)[_0x2470('0x18')](_0x567082);}return null;};}function patchUpdates(_0x4cc4a3){return function(_0x24b2a4){try{jsonpatch[_0x2470('0x1d')](_0x24b2a4,_0x4cc4a3,!![]);}catch(_0x2a329d){return BPromise[_0x2470('0x1e')](_0x2a329d);}return _0x24b2a4[_0x2470('0x1f')]();};}function saveUpdates(_0x2c6512,_0x51d376){return function(_0x46c3df){if(_0x46c3df){return _0x46c3df[_0x2470('0x20')](_0x2c6512)[_0x2470('0x21')](function(_0x42f61b){return _0x42f61b;});}return null;};}function removeEntity(_0x9a2765,_0x49cd90){return function(_0x546df5){if(_0x546df5){return _0x546df5['destroy']()[_0x2470('0x21')](function(){var _0x33997b=_0x546df5['get']({'plain':!![]});var _0x2278b1=_0x2470('0x22');return db[_0x2470('0x23')][_0x2470('0x24')]({'where':{'type':_0x2278b1,'resourceId':_0x33997b['id']}})[_0x2470('0x21')](function(){return _0x546df5;});})[_0x2470('0x21')](function(){_0x9a2765[_0x2470('0x17')](0xcc)[_0x2470('0x25')]();});}};}function handleEntityNotFound(_0x12ca8b,_0x5b36fb){return function(_0x2cb106){if(!_0x2cb106){_0x12ca8b['sendStatus'](0x194);}return _0x2cb106;};}function handleError(_0x381d91,_0x47fcce){_0x47fcce=_0x47fcce||0x1f4;return function(_0x3bb1de){logger[_0x2470('0x26')](_0x3bb1de['stack']);if(_0x3bb1de[_0x2470('0x27')]){delete _0x3bb1de[_0x2470('0x27')];}_0x381d91[_0x2470('0x17')](_0x47fcce)[_0x2470('0x28')](_0x3bb1de);};}exports[_0x2470('0x29')]=function(_0x4157aa,_0x260867){var _0x5e46d2={},_0x5c7825={},_0x42daff={'count':0x0,'rows':[]};var _0x13ec32=_[_0x2470('0x2a')](db['Pause'][_0x2470('0x2b')],function(_0x14beb5){return{'name':_0x14beb5['fieldName'],'type':_0x14beb5['type']['key']};});_0x5c7825[_0x2470('0x2c')]=_[_0x2470('0x2a')](_0x13ec32,_0x2470('0x27'));_0x5c7825[_0x2470('0x2d')]=_['keys'](_0x4157aa[_0x2470('0x2d')]);_0x5c7825['filters']=_[_0x2470('0x2e')](_0x5c7825[_0x2470('0x2c')],_0x5c7825[_0x2470('0x2d')]);_0x5e46d2[_0x2470('0x2f')]=_[_0x2470('0x2e')](_0x5c7825[_0x2470('0x2c')],qs['fields'](_0x4157aa[_0x2470('0x2d')][_0x2470('0x30')]));_0x5e46d2['attributes']=_0x5e46d2[_0x2470('0x2f')][_0x2470('0x31')]?_0x5e46d2['attributes']:_0x5c7825[_0x2470('0x2c')];if(!_0x4157aa[_0x2470('0x2d')][_0x2470('0x32')](_0x2470('0x33'))){_0x5e46d2[_0x2470('0x1b')]=qs[_0x2470('0x1b')](_0x4157aa[_0x2470('0x2d')][_0x2470('0x1b')]);_0x5e46d2[_0x2470('0x19')]=qs['offset'](_0x4157aa[_0x2470('0x2d')][_0x2470('0x19')]);}_0x5e46d2[_0x2470('0x34')]=qs['sort'](_0x4157aa[_0x2470('0x2d')]['sort']);_0x5e46d2[_0x2470('0x35')]=qs[_0x2470('0x36')](_[_0x2470('0x37')](_0x4157aa[_0x2470('0x2d')],_0x5c7825[_0x2470('0x36')]),_0x13ec32);if(_0x4157aa[_0x2470('0x2d')]['filter']){_0x5e46d2['where']=_['merge'](_0x5e46d2[_0x2470('0x35')],{'$or':_[_0x2470('0x2a')](_0x13ec32,function(_0x33acc6){if(_0x33acc6[_0x2470('0x38')]!=='VIRTUAL'){var _0x907bcc={};_0x907bcc[_0x33acc6[_0x2470('0x27')]]={'$like':'%'+_0x4157aa[_0x2470('0x2d')][_0x2470('0x39')]+'%'};return _0x907bcc;}})});}_0x5e46d2=_[_0x2470('0x3a')]({},_0x5e46d2,_0x4157aa[_0x2470('0x3b')]);var _0x4ce301={'where':_0x5e46d2['where']};return db[_0x2470('0x3c')]['count'](_0x4ce301)['then'](function(_0x3f7b84){_0x42daff[_0x2470('0x1a')]=_0x3f7b84;if(_0x4157aa[_0x2470('0x2d')]['includeAll']){_0x5e46d2['include']=[{'all':!![]}];}return db[_0x2470('0x3c')][_0x2470('0x3d')](_0x5e46d2);})[_0x2470('0x21')](function(_0x3183e5){_0x42daff['rows']=_0x3183e5;return _0x42daff;})[_0x2470('0x21')](respondWithFilteredResult(_0x260867,_0x5e46d2))[_0x2470('0x3e')](handleError(_0x260867,null));};exports[_0x2470('0x3f')]=function(_0x6c4dab,_0x2daa56){var _0x1c349b={'raw':!![],'where':{'id':_0x6c4dab['params']['id']}},_0x2621d1={};_0x2621d1['model']=_[_0x2470('0x40')](db['Pause'][_0x2470('0x2b')]);_0x2621d1[_0x2470('0x2d')]=_[_0x2470('0x40')](_0x6c4dab[_0x2470('0x2d')]);_0x2621d1[_0x2470('0x36')]=_[_0x2470('0x2e')](_0x2621d1['model'],_0x2621d1[_0x2470('0x2d')]);_0x1c349b[_0x2470('0x2f')]=_[_0x2470('0x2e')](_0x2621d1[_0x2470('0x2c')],qs['fields'](_0x6c4dab[_0x2470('0x2d')][_0x2470('0x30')]));_0x1c349b[_0x2470('0x2f')]=_0x1c349b[_0x2470('0x2f')][_0x2470('0x31')]?_0x1c349b[_0x2470('0x2f')]:_0x2621d1[_0x2470('0x2c')];if(_0x6c4dab[_0x2470('0x2d')][_0x2470('0x41')]){_0x1c349b[_0x2470('0x42')]=[{'all':!![]}];}_0x1c349b=_[_0x2470('0x3a')]({},_0x1c349b,_0x6c4dab[_0x2470('0x3b')]);return db['Pause']['find'](_0x1c349b)['then'](handleEntityNotFound(_0x2daa56,null))['then'](respondWithResult(_0x2daa56,null))[_0x2470('0x3e')](handleError(_0x2daa56,null));};exports['create']=function(_0x461fcf,_0x2569dc){return db[_0x2470('0x3c')]['create'](_0x461fcf[_0x2470('0x43')],{})['then'](function(_0x1117fc){var _0x8e1809=_0x461fcf[_0x2470('0x44')]['get']({'plain':!![]});if(!_0x8e1809)throw new Error(_0x2470('0x45'));if(_0x8e1809[_0x2470('0x46')]===_0x2470('0x44')){var _0x23ad5=_0x1117fc[_0x2470('0x47')]({'plain':!![]});var _0xa038d6=_0x2470('0x22');return db['UserProfileSection'][_0x2470('0x48')]({'where':{'name':_0xa038d6,'userProfileId':_0x8e1809['userProfileId']},'raw':!![]})['then'](function(_0x2e9f66){if(_0x2e9f66&&_0x2e9f66[_0x2470('0x49')]===0x0){return db['UserProfileResource']['create']({'name':_0x23ad5[_0x2470('0x27')],'resourceId':_0x23ad5['id'],'type':_0x2e9f66[_0x2470('0x27')],'sectionId':_0x2e9f66['id']},{})[_0x2470('0x21')](function(){return _0x1117fc;});}else{return _0x1117fc;}})[_0x2470('0x3e')](function(_0x201124){logger[_0x2470('0x26')](_0x2470('0x4a'),_0x201124);throw _0x201124;});}return _0x1117fc;})['then'](respondWithResult(_0x2569dc,0xc9))[_0x2470('0x3e')](handleError(_0x2569dc,null));};exports[_0x2470('0x20')]=function(_0xbc8f97,_0x20bd74){if(_0xbc8f97[_0x2470('0x43')]['id']){delete _0xbc8f97[_0x2470('0x43')]['id'];}return db['Pause'][_0x2470('0x48')]({'where':{'id':_0xbc8f97[_0x2470('0x4b')]['id']}})[_0x2470('0x21')](handleEntityNotFound(_0x20bd74,null))['then'](saveUpdates(_0xbc8f97[_0x2470('0x43')],null))[_0x2470('0x21')](respondWithResult(_0x20bd74,null))[_0x2470('0x3e')](handleError(_0x20bd74,null));};exports[_0x2470('0x24')]=function(_0x2700bc,_0x3c2656){return db[_0x2470('0x3c')][_0x2470('0x48')]({'where':{'id':_0x2700bc[_0x2470('0x4b')]['id']}})['then'](handleEntityNotFound(_0x3c2656,null))[_0x2470('0x21')](removeEntity(_0x3c2656,null))['catch'](handleError(_0x3c2656,null));};