Built motion from commit (unavailable).|2.5.15
[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 _0xadae=['Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','params','html-pdf','eml-format','rimraf','util','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','json','reject','save','then','get','Pauses','destroy','stack','name','send','map','Pause','rawAttributes','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','catch','options','find','create','role','user','UserProfileSection','userProfileId','UserProfileResource','error'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0xadae,0x134));var _0xeada=function(_0x4154a6,_0x2c0b8e){_0x4154a6=_0x4154a6-0x0;var _0x3b2786=_0xadae[_0x4154a6];return _0x3b2786;};'use strict';var pdf=require(_0xeada('0x0'));var emlformat=require(_0xeada('0x1'));var rimraf=require(_0xeada('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xeada('0x3'));var path=require('path');var sox=require(_0xeada('0x4'));var csv=require(_0xeada('0x5'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xeada('0x6'));var crypto=require(_0xeada('0x7'));var jsforce=require(_0xeada('0x8'));var deskjs=require(_0xeada('0x9'));var toCsv=require(_0xeada('0x5'));var querystring=require(_0xeada('0xa'));var Papa=require(_0xeada('0xb'));var Redis=require(_0xeada('0xc'));var authService=require(_0xeada('0xd'));var qs=require(_0xeada('0xe'));var as=require(_0xeada('0xf'));var hardwareService=require(_0xeada('0x10'));var logger=require(_0xeada('0x11'))('api');var utils=require('../../config/utils');var config=require(_0xeada('0x12'));var licenseUtil=require(_0xeada('0x13'));var db=require(_0xeada('0x14'))['db'];function respondWithStatusCode(_0x2d745d,_0x1f5309){_0x1f5309=_0x1f5309||0xcc;return function(_0x5f5aa0){if(_0x5f5aa0){return _0x2d745d[_0xeada('0x15')](_0x1f5309);}return _0x2d745d[_0xeada('0x16')](_0x1f5309)[_0xeada('0x17')]();};}function respondWithResult(_0x476f24,_0x4bddd3){_0x4bddd3=_0x4bddd3||0xc8;return function(_0x4d8421){if(_0x4d8421){return _0x476f24[_0xeada('0x16')](_0x4bddd3)['json'](_0x4d8421);}};}function respondWithFilteredResult(_0x5f3259,_0x51f7b6){return function(_0x4c5617){if(_0x4c5617){var _0x2e1b49=_0x4c5617[_0xeada('0x18')],_0x349f34=_0x51f7b6[_0xeada('0x19')],_0xf30648=_0x51f7b6[_0xeada('0x19')]+_0x51f7b6[_0xeada('0x1a')],_0x38a9f9;if(_0xf30648>=_0x2e1b49){_0xf30648=_0x2e1b49;_0x38a9f9=0xc8;}else{_0x38a9f9=0xce;}_0x5f3259['status'](_0x38a9f9);return _0x5f3259['set']('Content-Range',_0x349f34+'-'+_0xf30648+'/'+_0x2e1b49)[_0xeada('0x1b')](_0x4c5617);}return null;};}function patchUpdates(_0x54abc5){return function(_0x316376){try{jsonpatch['apply'](_0x316376,_0x54abc5,!![]);}catch(_0x22072c){return BPromise[_0xeada('0x1c')](_0x22072c);}return _0x316376[_0xeada('0x1d')]();};}function saveUpdates(_0x7a7bac,_0x2c49ae){return function(_0x453d58){if(_0x453d58){return _0x453d58['update'](_0x7a7bac)[_0xeada('0x1e')](function(_0x3cfa1f){return _0x3cfa1f;});}return null;};}function removeEntity(_0x53dc8e,_0x4a5daf){return function(_0x470a1d){if(_0x470a1d){return _0x470a1d['destroy']()['then'](function(){var _0x260f79=_0x470a1d[_0xeada('0x1f')]({'plain':!![]});var _0x344bce=_0xeada('0x20');return db['UserProfileResource'][_0xeada('0x21')]({'where':{'type':_0x344bce,'resourceId':_0x260f79['id']}})[_0xeada('0x1e')](function(){return _0x470a1d;});})[_0xeada('0x1e')](function(){_0x53dc8e[_0xeada('0x16')](0xcc)[_0xeada('0x17')]();});}};}function handleEntityNotFound(_0x1e80a9,_0x4ea275){return function(_0x2b9b6b){if(!_0x2b9b6b){_0x1e80a9['sendStatus'](0x194);}return _0x2b9b6b;};}function handleError(_0x2c938c,_0x2721ed){_0x2721ed=_0x2721ed||0x1f4;return function(_0x2103e8){logger['error'](_0x2103e8[_0xeada('0x22')]);if(_0x2103e8[_0xeada('0x23')]){delete _0x2103e8[_0xeada('0x23')];}_0x2c938c[_0xeada('0x16')](_0x2721ed)[_0xeada('0x24')](_0x2103e8);};}exports['index']=function(_0x26853d,_0x14a208){var _0x156772={},_0x5cf1fa={},_0x23d8fb={'count':0x0,'rows':[]};var _0x2c4ee2=_[_0xeada('0x25')](db[_0xeada('0x26')][_0xeada('0x27')],function(_0x2dcf54){return{'name':_0x2dcf54['fieldName'],'type':_0x2dcf54[_0xeada('0x28')][_0xeada('0x29')]};});_0x5cf1fa['model']=_[_0xeada('0x25')](_0x2c4ee2,_0xeada('0x23'));_0x5cf1fa['query']=_[_0xeada('0x2a')](_0x26853d[_0xeada('0x2b')]);_0x5cf1fa[_0xeada('0x2c')]=_[_0xeada('0x2d')](_0x5cf1fa[_0xeada('0x2e')],_0x5cf1fa['query']);_0x156772[_0xeada('0x2f')]=_[_0xeada('0x2d')](_0x5cf1fa[_0xeada('0x2e')],qs[_0xeada('0x30')](_0x26853d['query'][_0xeada('0x30')]));_0x156772[_0xeada('0x2f')]=_0x156772[_0xeada('0x2f')][_0xeada('0x31')]?_0x156772['attributes']:_0x5cf1fa['model'];if(!_0x26853d[_0xeada('0x2b')][_0xeada('0x32')](_0xeada('0x33'))){_0x156772[_0xeada('0x1a')]=qs['limit'](_0x26853d[_0xeada('0x2b')][_0xeada('0x1a')]);_0x156772[_0xeada('0x19')]=qs[_0xeada('0x19')](_0x26853d['query'][_0xeada('0x19')]);}_0x156772[_0xeada('0x34')]=qs['sort'](_0x26853d['query'][_0xeada('0x35')]);_0x156772[_0xeada('0x36')]=qs[_0xeada('0x2c')](_[_0xeada('0x37')](_0x26853d[_0xeada('0x2b')],_0x5cf1fa[_0xeada('0x2c')]),_0x2c4ee2);if(_0x26853d['query'][_0xeada('0x38')]){_0x156772[_0xeada('0x36')]=_[_0xeada('0x39')](_0x156772[_0xeada('0x36')],{'$or':_[_0xeada('0x25')](_0x2c4ee2,function(_0x533b9a){if(_0x533b9a[_0xeada('0x28')]!==_0xeada('0x3a')){var _0x9689c8={};_0x9689c8[_0x533b9a[_0xeada('0x23')]]={'$like':'%'+_0x26853d[_0xeada('0x2b')][_0xeada('0x38')]+'%'};return _0x9689c8;}})});}_0x156772=_[_0xeada('0x39')]({},_0x156772,_0x26853d['options']);var _0x2e1f6d={'where':_0x156772[_0xeada('0x36')]};return db[_0xeada('0x26')][_0xeada('0x18')](_0x2e1f6d)[_0xeada('0x1e')](function(_0x30ee16){_0x23d8fb[_0xeada('0x18')]=_0x30ee16;if(_0x26853d[_0xeada('0x2b')][_0xeada('0x3b')]){_0x156772[_0xeada('0x3c')]=[{'all':!![]}];}return db[_0xeada('0x26')]['findAll'](_0x156772);})['then'](function(_0x350c36){_0x23d8fb[_0xeada('0x3d')]=_0x350c36;return _0x23d8fb;})['then'](respondWithFilteredResult(_0x14a208,_0x156772))[_0xeada('0x3e')](handleError(_0x14a208,null));};exports['show']=function(_0xf85d4a,_0x29ab6b){var _0x4a6992={'raw':!![],'where':{'id':_0xf85d4a['params']['id']}},_0x185c1a={};_0x185c1a[_0xeada('0x2e')]=_[_0xeada('0x2a')](db[_0xeada('0x26')]['rawAttributes']);_0x185c1a[_0xeada('0x2b')]=_[_0xeada('0x2a')](_0xf85d4a[_0xeada('0x2b')]);_0x185c1a[_0xeada('0x2c')]=_[_0xeada('0x2d')](_0x185c1a[_0xeada('0x2e')],_0x185c1a[_0xeada('0x2b')]);_0x4a6992[_0xeada('0x2f')]=_['intersection'](_0x185c1a[_0xeada('0x2e')],qs[_0xeada('0x30')](_0xf85d4a[_0xeada('0x2b')]['fields']));_0x4a6992[_0xeada('0x2f')]=_0x4a6992[_0xeada('0x2f')][_0xeada('0x31')]?_0x4a6992[_0xeada('0x2f')]:_0x185c1a['model'];if(_0xf85d4a[_0xeada('0x2b')]['includeAll']){_0x4a6992['include']=[{'all':!![]}];}_0x4a6992=_['merge']({},_0x4a6992,_0xf85d4a[_0xeada('0x3f')]);return db['Pause'][_0xeada('0x40')](_0x4a6992)[_0xeada('0x1e')](handleEntityNotFound(_0x29ab6b,null))[_0xeada('0x1e')](respondWithResult(_0x29ab6b,null))[_0xeada('0x3e')](handleError(_0x29ab6b,null));};exports['create']=function(_0x2e98b5,_0x50ff07){return db['Pause'][_0xeada('0x41')](_0x2e98b5['body'],{})['then'](function(_0x2f7a18){var _0x16f600=_0x2e98b5['user'][_0xeada('0x1f')]({'plain':!![]});if(!_0x16f600)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x16f600[_0xeada('0x42')]===_0xeada('0x43')){var _0x1b5a9f=_0x2f7a18[_0xeada('0x1f')]({'plain':!![]});var _0x24c3f3='Pauses';return db[_0xeada('0x44')][_0xeada('0x40')]({'where':{'name':_0x24c3f3,'userProfileId':_0x16f600[_0xeada('0x45')]},'raw':!![]})[_0xeada('0x1e')](function(_0x33c47b){if(_0x33c47b&&_0x33c47b['autoAssociation']===0x0){return db[_0xeada('0x46')]['create']({'name':_0x1b5a9f[_0xeada('0x23')],'resourceId':_0x1b5a9f['id'],'type':_0x33c47b[_0xeada('0x23')],'sectionId':_0x33c47b['id']},{})['then'](function(){return _0x2f7a18;});}else{return _0x2f7a18;}})['catch'](function(_0x157504){logger[_0xeada('0x47')](_0xeada('0x48'),_0x157504);throw _0x157504;});}return _0x2f7a18;})[_0xeada('0x1e')](respondWithResult(_0x50ff07,0xc9))[_0xeada('0x3e')](handleError(_0x50ff07,null));};exports[_0xeada('0x49')]=function(_0x3ad0bd,_0x539abc){if(_0x3ad0bd[_0xeada('0x4a')]['id']){delete _0x3ad0bd[_0xeada('0x4a')]['id'];}return db['Pause']['find']({'where':{'id':_0x3ad0bd['params']['id']}})[_0xeada('0x1e')](handleEntityNotFound(_0x539abc,null))[_0xeada('0x1e')](saveUpdates(_0x3ad0bd[_0xeada('0x4a')],null))[_0xeada('0x1e')](respondWithResult(_0x539abc,null))['catch'](handleError(_0x539abc,null));};exports['destroy']=function(_0x111b64,_0x1f747d){return db[_0xeada('0x26')][_0xeada('0x40')]({'where':{'id':_0x111b64[_0xeada('0x4b')]['id']}})[_0xeada('0x1e')](handleEntityNotFound(_0x1f747d,null))[_0xeada('0x1e')](removeEntity(_0x1f747d,null))[_0xeada('0x3e')](handleError(_0x1f747d,null));};