Built motion from commit (unavailable).|2.4.21
[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 _0x8836=['type','model','query','keys','filters','intersection','attributes','fields','nolimit','sort','where','pick','filter','merge','options','includeAll','include','findAll','show','rawAttributes','length','catch','create','body','user','role','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','rimraf','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','sendStatus','status','end','json','count','offset','limit','apply','save','update','then','get','Pauses','UserProfileResource','destroy','error','stack','name','send','index','map','Pause'];(function(_0x40ebcf,_0x29e0e3){var _0x9d7ad5=function(_0x20424e){while(--_0x20424e){_0x40ebcf['push'](_0x40ebcf['shift']());}};_0x9d7ad5(++_0x29e0e3);}(_0x8836,0x69));var _0x6883=function(_0x1813fe,_0x1b3ce8){_0x1813fe=_0x1813fe-0x0;var _0x23e7f7=_0x8836[_0x1813fe];return _0x23e7f7;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x6883('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6883('0x1'));var rp=require('request-promise');var moment=require(_0x6883('0x2'));var BPromise=require(_0x6883('0x3'));var Mustache=require(_0x6883('0x4'));var util=require(_0x6883('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x6883('0x6'));var ejs=require(_0x6883('0x7'));var fs=require('fs');var _=require(_0x6883('0x8'));var squel=require(_0x6883('0x9'));var crypto=require('crypto');var jsforce=require(_0x6883('0xa'));var deskjs=require(_0x6883('0xb'));var toCsv=require('to-csv');var querystring=require(_0x6883('0xc'));var Papa=require(_0x6883('0xd'));var Redis=require(_0x6883('0xe'));var authService=require(_0x6883('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x6883('0x10'));var hardwareService=require(_0x6883('0x11'));var logger=require(_0x6883('0x12'))(_0x6883('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x6883('0x14'))['db'];function respondWithStatusCode(_0x11db9e,_0x2ec0ef){_0x2ec0ef=_0x2ec0ef||0xcc;return function(_0x31c6e4){if(_0x31c6e4){return _0x11db9e[_0x6883('0x15')](_0x2ec0ef);}return _0x11db9e[_0x6883('0x16')](_0x2ec0ef)[_0x6883('0x17')]();};}function respondWithResult(_0x32923c,_0x282163){_0x282163=_0x282163||0xc8;return function(_0x7e2a3d){if(_0x7e2a3d){return _0x32923c[_0x6883('0x16')](_0x282163)[_0x6883('0x18')](_0x7e2a3d);}};}function respondWithFilteredResult(_0x338037,_0x34cf04){return function(_0x1e30ef){if(_0x1e30ef){var _0x36947e=_0x1e30ef[_0x6883('0x19')],_0x10de8d=_0x34cf04[_0x6883('0x1a')],_0x1cf7b4=_0x34cf04['offset']+_0x34cf04[_0x6883('0x1b')],_0x1059e9;if(_0x1cf7b4>=_0x36947e){_0x1cf7b4=_0x36947e;_0x1059e9=0xc8;}else{_0x1059e9=0xce;}_0x338037['status'](_0x1059e9);return _0x338037['set']('Content-Range',_0x10de8d+'-'+_0x1cf7b4+'/'+_0x36947e)['json'](_0x1e30ef);}return null;};}function patchUpdates(_0x137f65){return function(_0x4fd948){try{jsonpatch[_0x6883('0x1c')](_0x4fd948,_0x137f65,!![]);}catch(_0x337d36){return BPromise['reject'](_0x337d36);}return _0x4fd948[_0x6883('0x1d')]();};}function saveUpdates(_0x15cf45,_0x111629){return function(_0x4fc3bb){if(_0x4fc3bb){return _0x4fc3bb[_0x6883('0x1e')](_0x15cf45)[_0x6883('0x1f')](function(_0x1c94f5){return _0x1c94f5;});}return null;};}function removeEntity(_0x4d7146,_0x144e02){return function(_0x22d2fd){if(_0x22d2fd){return _0x22d2fd['destroy']()[_0x6883('0x1f')](function(){var _0x412f26=_0x22d2fd[_0x6883('0x20')]({'plain':!![]});var _0x3a6478=_0x6883('0x21');return db[_0x6883('0x22')][_0x6883('0x23')]({'where':{'type':_0x3a6478,'resourceId':_0x412f26['id']}})['then'](function(){return _0x22d2fd;});})[_0x6883('0x1f')](function(){_0x4d7146[_0x6883('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x19fbb1,_0x2575cf){return function(_0x33ad4d){if(!_0x33ad4d){_0x19fbb1[_0x6883('0x15')](0x194);}return _0x33ad4d;};}function handleError(_0x584c5f,_0x3e8aec){_0x3e8aec=_0x3e8aec||0x1f4;return function(_0x157de5){logger[_0x6883('0x24')](_0x157de5[_0x6883('0x25')]);if(_0x157de5[_0x6883('0x26')]){delete _0x157de5['name'];}_0x584c5f['status'](_0x3e8aec)[_0x6883('0x27')](_0x157de5);};}exports[_0x6883('0x28')]=function(_0x2aa2bc,_0x316590){var _0x2d3f3b={},_0x4eec95={},_0x3ada71={'count':0x0,'rows':[]};var _0x1bb154=_[_0x6883('0x29')](db[_0x6883('0x2a')]['rawAttributes'],function(_0x71953d){return{'name':_0x71953d['fieldName'],'type':_0x71953d[_0x6883('0x2b')]['key']};});_0x4eec95[_0x6883('0x2c')]=_[_0x6883('0x29')](_0x1bb154,'name');_0x4eec95[_0x6883('0x2d')]=_[_0x6883('0x2e')](_0x2aa2bc[_0x6883('0x2d')]);_0x4eec95[_0x6883('0x2f')]=_[_0x6883('0x30')](_0x4eec95[_0x6883('0x2c')],_0x4eec95[_0x6883('0x2d')]);_0x2d3f3b[_0x6883('0x31')]=_['intersection'](_0x4eec95['model'],qs['fields'](_0x2aa2bc[_0x6883('0x2d')][_0x6883('0x32')]));_0x2d3f3b[_0x6883('0x31')]=_0x2d3f3b['attributes']['length']?_0x2d3f3b['attributes']:_0x4eec95[_0x6883('0x2c')];if(!_0x2aa2bc['query']['hasOwnProperty'](_0x6883('0x33'))){_0x2d3f3b[_0x6883('0x1b')]=qs[_0x6883('0x1b')](_0x2aa2bc[_0x6883('0x2d')]['limit']);_0x2d3f3b[_0x6883('0x1a')]=qs[_0x6883('0x1a')](_0x2aa2bc[_0x6883('0x2d')][_0x6883('0x1a')]);}_0x2d3f3b['order']=qs[_0x6883('0x34')](_0x2aa2bc[_0x6883('0x2d')][_0x6883('0x34')]);_0x2d3f3b[_0x6883('0x35')]=qs[_0x6883('0x2f')](_[_0x6883('0x36')](_0x2aa2bc[_0x6883('0x2d')],_0x4eec95[_0x6883('0x2f')]));if(_0x2aa2bc[_0x6883('0x2d')]['filter']){_0x2d3f3b[_0x6883('0x35')]=_['merge'](_0x2d3f3b['where'],{'$or':_[_0x6883('0x29')](_0x1bb154,function(_0x6abe3c){if(_0x6abe3c[_0x6883('0x2b')]!=='VIRTUAL'){var _0x50e222={};_0x50e222[_0x6abe3c[_0x6883('0x26')]]={'$like':'%'+_0x2aa2bc[_0x6883('0x2d')][_0x6883('0x37')]+'%'};return _0x50e222;}})});}_0x2d3f3b=_[_0x6883('0x38')]({},_0x2d3f3b,_0x2aa2bc[_0x6883('0x39')]);var _0x641b={'where':_0x2d3f3b[_0x6883('0x35')]};return db[_0x6883('0x2a')][_0x6883('0x19')](_0x641b)['then'](function(_0x56e9d5){_0x3ada71[_0x6883('0x19')]=_0x56e9d5;if(_0x2aa2bc[_0x6883('0x2d')][_0x6883('0x3a')]){_0x2d3f3b[_0x6883('0x3b')]=[{'all':!![]}];}return db['Pause'][_0x6883('0x3c')](_0x2d3f3b);})[_0x6883('0x1f')](function(_0x27e6ae){_0x3ada71['rows']=_0x27e6ae;return _0x3ada71;})['then'](respondWithFilteredResult(_0x316590,_0x2d3f3b))['catch'](handleError(_0x316590,null));};exports[_0x6883('0x3d')]=function(_0x2108a8,_0x259685){var _0x406d84={'raw':!![],'where':{'id':_0x2108a8['params']['id']}},_0x4da94e={};_0x4da94e[_0x6883('0x2c')]=_[_0x6883('0x2e')](db[_0x6883('0x2a')][_0x6883('0x3e')]);_0x4da94e[_0x6883('0x2d')]=_[_0x6883('0x2e')](_0x2108a8[_0x6883('0x2d')]);_0x4da94e[_0x6883('0x2f')]=_[_0x6883('0x30')](_0x4da94e[_0x6883('0x2c')],_0x4da94e[_0x6883('0x2d')]);_0x406d84[_0x6883('0x31')]=_[_0x6883('0x30')](_0x4da94e[_0x6883('0x2c')],qs[_0x6883('0x32')](_0x2108a8['query'][_0x6883('0x32')]));_0x406d84['attributes']=_0x406d84[_0x6883('0x31')][_0x6883('0x3f')]?_0x406d84['attributes']:_0x4da94e[_0x6883('0x2c')];if(_0x2108a8['query'][_0x6883('0x3a')]){_0x406d84[_0x6883('0x3b')]=[{'all':!![]}];}_0x406d84=_[_0x6883('0x38')]({},_0x406d84,_0x2108a8[_0x6883('0x39')]);return db[_0x6883('0x2a')]['find'](_0x406d84)['then'](handleEntityNotFound(_0x259685,null))[_0x6883('0x1f')](respondWithResult(_0x259685,null))[_0x6883('0x40')](handleError(_0x259685,null));};exports[_0x6883('0x41')]=function(_0xf4a323,_0x20f91a){return db[_0x6883('0x2a')][_0x6883('0x41')](_0xf4a323[_0x6883('0x42')],{})['then'](function(_0x1a982f){var _0x3dfc8e=_0xf4a323[_0x6883('0x43')][_0x6883('0x20')]({'plain':!![]});if(!_0x3dfc8e)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3dfc8e[_0x6883('0x44')]===_0x6883('0x43')){var _0x1df9f4=_0x1a982f[_0x6883('0x20')]({'plain':!![]});var _0x1e3e32=_0x6883('0x21');return db['UserProfileSection'][_0x6883('0x45')]({'where':{'name':_0x1e3e32,'userProfileId':_0x3dfc8e[_0x6883('0x46')]},'raw':!![]})['then'](function(_0x3e4b2b){if(_0x3e4b2b&&_0x3e4b2b[_0x6883('0x47')]===0x0){return db[_0x6883('0x22')][_0x6883('0x41')]({'name':_0x1df9f4[_0x6883('0x26')],'resourceId':_0x1df9f4['id'],'type':_0x3e4b2b[_0x6883('0x26')],'sectionId':_0x3e4b2b['id']},{})[_0x6883('0x1f')](function(){return _0x1a982f;});}else{return _0x1a982f;}})[_0x6883('0x40')](function(_0x472076){logger[_0x6883('0x24')](_0x6883('0x48'),_0x472076);throw _0x472076;});}return _0x1a982f;})[_0x6883('0x1f')](respondWithResult(_0x20f91a,0xc9))[_0x6883('0x40')](handleError(_0x20f91a,null));};exports[_0x6883('0x1e')]=function(_0x3532c1,_0x2210c7){if(_0x3532c1[_0x6883('0x42')]['id']){delete _0x3532c1[_0x6883('0x42')]['id'];}return db['Pause']['find']({'where':{'id':_0x3532c1[_0x6883('0x49')]['id']}})[_0x6883('0x1f')](handleEntityNotFound(_0x2210c7,null))[_0x6883('0x1f')](saveUpdates(_0x3532c1[_0x6883('0x42')],null))['then'](respondWithResult(_0x2210c7,null))[_0x6883('0x40')](handleError(_0x2210c7,null));};exports[_0x6883('0x23')]=function(_0x17821e,_0x282360){return db[_0x6883('0x2a')][_0x6883('0x45')]({'where':{'id':_0x17821e['params']['id']}})[_0x6883('0x1f')](handleEntityNotFound(_0x282360,null))[_0x6883('0x1f')](removeEntity(_0x282360,null))[_0x6883('0x40')](handleError(_0x282360,null));};