Built motion from commit 936e8062.|2.5.33
[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 _0x3cbe=['jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','status','end','json','limit','undefined','count','offset','set','Content-Range','update','destroy','then','sendStatus','error','name','send','find','body','catch','Action','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0x4a9fb1,_0x273043){var _0x348672=function(_0x142b69){while(--_0x142b69){_0x4a9fb1['push'](_0x4a9fb1['shift']());}};_0x348672(++_0x273043);}(_0x3cbe,0xd9));var _0xe3cb=function(_0x16eb11,_0x1a2251){_0x16eb11=_0x16eb11-0x0;var _0x3ae7ef=_0x3cbe[_0x16eb11];return _0x3ae7ef;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe3cb('0x0'));var zipdir=require(_0xe3cb('0x1'));var jsonpatch=require(_0xe3cb('0x2'));var rp=require(_0xe3cb('0x3'));var moment=require(_0xe3cb('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xe3cb('0x5'));var path=require(_0xe3cb('0x6'));var sox=require(_0xe3cb('0x7'));var csv=require(_0xe3cb('0x8'));var ejs=require(_0xe3cb('0x9'));var fs=require('fs');var fs_extra=require(_0xe3cb('0xa'));var _=require(_0xe3cb('0xb'));var squel=require(_0xe3cb('0xc'));var crypto=require('crypto');var jsforce=require(_0xe3cb('0xd'));var deskjs=require(_0xe3cb('0xe'));var toCsv=require('to-csv');var querystring=require(_0xe3cb('0xf'));var Papa=require(_0xe3cb('0x10'));var Redis=require(_0xe3cb('0x11'));var authService=require(_0xe3cb('0x12'));var qs=require(_0xe3cb('0x13'));var as=require(_0xe3cb('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe3cb('0x15'))(_0xe3cb('0x16'));var utils=require('../../config/utils');var config=require(_0xe3cb('0x17'));var licenseUtil=require(_0xe3cb('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1fef44,_0x316694){_0x316694=_0x316694||0xcc;return function(_0x37aa4a){if(_0x37aa4a){return _0x1fef44['sendStatus'](_0x316694);}return _0x1fef44[_0xe3cb('0x19')](_0x316694)[_0xe3cb('0x1a')]();};}function respondWithResult(_0x32fba3,_0x2661d6){_0x2661d6=_0x2661d6||0xc8;return function(_0x3791f7){if(_0x3791f7){return _0x32fba3[_0xe3cb('0x19')](_0x2661d6)[_0xe3cb('0x1b')](_0x3791f7);}};}function respondWithFilteredResult(_0x9a298,_0x4811b7){return function(_0x4776dc){if(_0x4776dc){var _0x195bf4=typeof _0x4811b7['offset']==='undefined'&&typeof _0x4811b7[_0xe3cb('0x1c')]===_0xe3cb('0x1d');var _0x271a64=_0x4776dc[_0xe3cb('0x1e')];var _0x3dad6d=_0x195bf4?0x0:_0x4811b7['offset'];var _0x6d4e8a=_0x195bf4?_0x4776dc[_0xe3cb('0x1e')]:_0x4811b7[_0xe3cb('0x1f')]+_0x4811b7[_0xe3cb('0x1c')];var _0x3737fb;if(_0x6d4e8a>=_0x271a64){_0x6d4e8a=_0x271a64;_0x3737fb=0xc8;}else{_0x3737fb=0xce;}_0x9a298[_0xe3cb('0x19')](_0x3737fb);return _0x9a298[_0xe3cb('0x20')](_0xe3cb('0x21'),_0x3dad6d+'-'+_0x6d4e8a+'/'+_0x271a64)[_0xe3cb('0x1b')](_0x4776dc);}return null;};}function patchUpdates(_0x8b9513){return function(_0x5dfbfd){try{jsonpatch['apply'](_0x5dfbfd,_0x8b9513,!![]);}catch(_0x27b967){return BPromise['reject'](_0x27b967);}return _0x5dfbfd['save']();};}function saveUpdates(_0x214dcb,_0x322ab6){return function(_0x8b9c3c){if(_0x8b9c3c){return _0x8b9c3c[_0xe3cb('0x22')](_0x214dcb)['then'](function(_0x5bf844){return _0x5bf844;});}return null;};}function removeEntity(_0x2918a0,_0x339e50){return function(_0x126a5c){if(_0x126a5c){return _0x126a5c[_0xe3cb('0x23')]()[_0xe3cb('0x24')](function(){_0x2918a0[_0xe3cb('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x30fd2b,_0x523460){return function(_0xd5ab21){if(!_0xd5ab21){_0x30fd2b[_0xe3cb('0x25')](0x194);}return _0xd5ab21;};}function handleError(_0x2911a0,_0x28482e){_0x28482e=_0x28482e||0x1f4;return function(_0x757c05){logger[_0xe3cb('0x26')](_0x757c05['stack']);if(_0x757c05[_0xe3cb('0x27')]){delete _0x757c05[_0xe3cb('0x27')];}_0x2911a0[_0xe3cb('0x19')](_0x28482e)[_0xe3cb('0x28')](_0x757c05);};}exports[_0xe3cb('0x22')]=function(_0x438f91,_0x58f6d9){if(_0x438f91['body']['id']){delete _0x438f91['body']['id'];}return db['Action'][_0xe3cb('0x29')]({'where':{'id':_0x438f91['params']['id']}})['then'](handleEntityNotFound(_0x58f6d9,null))['then'](saveUpdates(_0x438f91[_0xe3cb('0x2a')],null))['then'](respondWithResult(_0x58f6d9,null))[_0xe3cb('0x2b')](handleError(_0x58f6d9,null));};exports[_0xe3cb('0x23')]=function(_0x391e45,_0x3213bc){return db[_0xe3cb('0x2c')]['find']({'where':{'id':_0x391e45[_0xe3cb('0x2d')]['id']}})[_0xe3cb('0x24')](handleEntityNotFound(_0x3213bc,null))[_0xe3cb('0x24')](removeEntity(_0x3213bc,null))[_0xe3cb('0x2b')](handleError(_0x3213bc,null));};