Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / action / action.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 _0xf501=['desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','body','Action','catch','find','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','jsforce'];(function(_0x1a5f8c,_0x567ec1){var _0x383f3e=function(_0x153142){while(--_0x153142){_0x1a5f8c['push'](_0x1a5f8c['shift']());}};_0x383f3e(++_0x567ec1);}(_0xf501,0x191));var _0x1f50=function(_0x2afb88,_0x56949){_0x2afb88=_0x2afb88-0x0;var _0x2448c7=_0xf501[_0x2afb88];return _0x2448c7;};'use strict';var emlformat=require(_0x1f50('0x0'));var rimraf=require(_0x1f50('0x1'));var zipdir=require(_0x1f50('0x2'));var jsonpatch=require(_0x1f50('0x3'));var rp=require(_0x1f50('0x4'));var moment=require('moment');var BPromise=require(_0x1f50('0x5'));var Mustache=require(_0x1f50('0x6'));var util=require('util');var path=require(_0x1f50('0x7'));var sox=require(_0x1f50('0x8'));var csv=require(_0x1f50('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1f50('0xa'));var _=require(_0x1f50('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1f50('0xc'));var deskjs=require(_0x1f50('0xd'));var toCsv=require(_0x1f50('0x9'));var querystring=require(_0x1f50('0xe'));var Papa=require(_0x1f50('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x1f50('0x10'));var as=require(_0x1f50('0x11'));var hardwareService=require(_0x1f50('0x12'));var logger=require(_0x1f50('0x13'))(_0x1f50('0x14'));var utils=require(_0x1f50('0x15'));var config=require(_0x1f50('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x1f50('0x17'))['db'];function respondWithStatusCode(_0x304c71,_0x4444c7){_0x4444c7=_0x4444c7||0xcc;return function(_0x2555ec){if(_0x2555ec){return _0x304c71['sendStatus'](_0x4444c7);}return _0x304c71[_0x1f50('0x18')](_0x4444c7)['end']();};}function respondWithResult(_0x3dddd4,_0x2ca675){_0x2ca675=_0x2ca675||0xc8;return function(_0x1a060e){if(_0x1a060e){return _0x3dddd4['status'](_0x2ca675)['json'](_0x1a060e);}};}function respondWithFilteredResult(_0x4b842f,_0x4c5bda){return function(_0x2727dd){if(_0x2727dd){var _0x349e7e=typeof _0x4c5bda[_0x1f50('0x19')]===_0x1f50('0x1a')&&typeof _0x4c5bda['limit']==='undefined';var _0x153a5d=_0x2727dd[_0x1f50('0x1b')];var _0xf1b9b8=_0x349e7e?0x0:_0x4c5bda[_0x1f50('0x19')];var _0x1540b5=_0x349e7e?_0x2727dd[_0x1f50('0x1b')]:_0x4c5bda['offset']+_0x4c5bda[_0x1f50('0x1c')];var _0x2e0b5c;if(_0x1540b5>=_0x153a5d){_0x1540b5=_0x153a5d;_0x2e0b5c=0xc8;}else{_0x2e0b5c=0xce;}_0x4b842f[_0x1f50('0x18')](_0x2e0b5c);return _0x4b842f[_0x1f50('0x1d')](_0x1f50('0x1e'),_0xf1b9b8+'-'+_0x1540b5+'/'+_0x153a5d)['json'](_0x2727dd);}return null;};}function patchUpdates(_0x35d7c4){return function(_0x148cd3){try{jsonpatch[_0x1f50('0x1f')](_0x148cd3,_0x35d7c4,!![]);}catch(_0x219ac8){return BPromise[_0x1f50('0x20')](_0x219ac8);}return _0x148cd3[_0x1f50('0x21')]();};}function saveUpdates(_0x3469e0,_0x2beaf8){return function(_0x29c02a){if(_0x29c02a){return _0x29c02a[_0x1f50('0x22')](_0x3469e0)['then'](function(_0x389e22){return _0x389e22;});}return null;};}function removeEntity(_0xfac5f,_0x294a7f){return function(_0x792a4d){if(_0x792a4d){return _0x792a4d[_0x1f50('0x23')]()[_0x1f50('0x24')](function(){_0xfac5f[_0x1f50('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x221256,_0x2c6425){return function(_0x144484){if(!_0x144484){_0x221256['sendStatus'](0x194);}return _0x144484;};}function handleError(_0x86f744,_0x24275b){_0x24275b=_0x24275b||0x1f4;return function(_0x510291){logger[_0x1f50('0x25')](_0x510291[_0x1f50('0x26')]);if(_0x510291[_0x1f50('0x27')]){delete _0x510291['name'];}_0x86f744[_0x1f50('0x18')](_0x24275b)[_0x1f50('0x28')](_0x510291);};}exports[_0x1f50('0x22')]=function(_0x1cb699,_0x42abd0){if(_0x1cb699['body']['id']){delete _0x1cb699[_0x1f50('0x29')]['id'];}return db[_0x1f50('0x2a')]['find']({'where':{'id':_0x1cb699['params']['id']}})[_0x1f50('0x24')](handleEntityNotFound(_0x42abd0,null))['then'](saveUpdates(_0x1cb699[_0x1f50('0x29')],null))['then'](respondWithResult(_0x42abd0,null))[_0x1f50('0x2b')](handleError(_0x42abd0,null));};exports[_0x1f50('0x23')]=function(_0x5e69e8,_0x48d7f3){return db[_0x1f50('0x2a')][_0x1f50('0x2c')]({'where':{'id':_0x5e69e8[_0x1f50('0x2d')]['id']}})['then'](handleEntityNotFound(_0x48d7f3,null))['then'](removeEntity(_0x48d7f3,null))['catch'](handleError(_0x48d7f3,null));};