Built motion from commit 10af8726.|2.6.34
[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 _0x668d=['crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','undefined','limit','offset','count','set','Content-Range','json','apply','reject','save','update','destroy','end','error','name','send','body','Action','find','then','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x668d,0x7a));var _0xd668=function(_0x4a88e0,_0x15b474){_0x4a88e0=_0x4a88e0-0x0;var _0x27026d=_0x668d[_0x4a88e0];return _0x27026d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd668('0x0'));var zipdir=require(_0xd668('0x1'));var jsonpatch=require(_0xd668('0x2'));var rp=require('request-promise');var moment=require(_0xd668('0x3'));var BPromise=require(_0xd668('0x4'));var Mustache=require(_0xd668('0x5'));var util=require(_0xd668('0x6'));var path=require(_0xd668('0x7'));var sox=require(_0xd668('0x8'));var csv=require('to-csv');var ejs=require(_0xd668('0x9'));var fs=require('fs');var fs_extra=require(_0xd668('0xa'));var _=require(_0xd668('0xb'));var squel=require(_0xd668('0xc'));var crypto=require(_0xd668('0xd'));var jsforce=require(_0xd668('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xd668('0xf'));var Papa=require('papaparse');var Redis=require(_0xd668('0x10'));var authService=require(_0xd668('0x11'));var qs=require(_0xd668('0x12'));var as=require(_0xd668('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xd668('0x14'));var config=require(_0xd668('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xd668('0x16'))['db'];function respondWithStatusCode(_0x4e39f8,_0x3262cd){_0x3262cd=_0x3262cd||0xcc;return function(_0x9bf943){if(_0x9bf943){return _0x4e39f8[_0xd668('0x17')](_0x3262cd);}return _0x4e39f8[_0xd668('0x18')](_0x3262cd)['end']();};}function respondWithResult(_0x12d602,_0x51879){_0x51879=_0x51879||0xc8;return function(_0x5b2e38){if(_0x5b2e38){return _0x12d602[_0xd668('0x18')](_0x51879)['json'](_0x5b2e38);}};}function respondWithFilteredResult(_0x5ea151,_0x10b0bc){return function(_0x36ca66){if(_0x36ca66){var _0x18bff4=typeof _0x10b0bc['offset']===_0xd668('0x19')&&typeof _0x10b0bc[_0xd668('0x1a')]==='undefined';var _0x25d5fc=_0x36ca66['count'];var _0x5f0ecc=_0x18bff4?0x0:_0x10b0bc[_0xd668('0x1b')];var _0x228150=_0x18bff4?_0x36ca66[_0xd668('0x1c')]:_0x10b0bc[_0xd668('0x1b')]+_0x10b0bc[_0xd668('0x1a')];var _0x2deefa;if(_0x228150>=_0x25d5fc){_0x228150=_0x25d5fc;_0x2deefa=0xc8;}else{_0x2deefa=0xce;}_0x5ea151[_0xd668('0x18')](_0x2deefa);return _0x5ea151[_0xd668('0x1d')](_0xd668('0x1e'),_0x5f0ecc+'-'+_0x228150+'/'+_0x25d5fc)[_0xd668('0x1f')](_0x36ca66);}return null;};}function patchUpdates(_0xab22fc){return function(_0x527093){try{jsonpatch[_0xd668('0x20')](_0x527093,_0xab22fc,!![]);}catch(_0x5dfdd4){return BPromise[_0xd668('0x21')](_0x5dfdd4);}return _0x527093[_0xd668('0x22')]();};}function saveUpdates(_0x1628ea,_0x32c73b){return function(_0x452d55){if(_0x452d55){return _0x452d55[_0xd668('0x23')](_0x1628ea)['then'](function(_0x5936f9){return _0x5936f9;});}return null;};}function removeEntity(_0x27920a,_0x377f60){return function(_0x574371){if(_0x574371){return _0x574371[_0xd668('0x24')]()['then'](function(){_0x27920a[_0xd668('0x18')](0xcc)[_0xd668('0x25')]();});}};}function handleEntityNotFound(_0x39f2ab,_0x1a3dfb){return function(_0x86605e){if(!_0x86605e){_0x39f2ab[_0xd668('0x17')](0x194);}return _0x86605e;};}function handleError(_0x520da0,_0x110f44){_0x110f44=_0x110f44||0x1f4;return function(_0x9bd9f8){logger[_0xd668('0x26')](_0x9bd9f8['stack']);if(_0x9bd9f8[_0xd668('0x27')]){delete _0x9bd9f8[_0xd668('0x27')];}_0x520da0[_0xd668('0x18')](_0x110f44)[_0xd668('0x28')](_0x9bd9f8);};}exports['update']=function(_0x190ad5,_0xfbdda2){if(_0x190ad5[_0xd668('0x29')]['id']){delete _0x190ad5['body']['id'];}return db[_0xd668('0x2a')][_0xd668('0x2b')]({'where':{'id':_0x190ad5['params']['id']}})[_0xd668('0x2c')](handleEntityNotFound(_0xfbdda2,null))[_0xd668('0x2c')](saveUpdates(_0x190ad5[_0xd668('0x29')],null))['then'](respondWithResult(_0xfbdda2,null))['catch'](handleError(_0xfbdda2,null));};exports[_0xd668('0x24')]=function(_0x370284,_0x50a2ea){return db[_0xd668('0x2a')][_0xd668('0x2b')]({'where':{'id':_0x370284['params']['id']}})[_0xd668('0x2c')](handleEntityNotFound(_0x50a2ea,null))[_0xd668('0x2c')](removeEntity(_0x50a2ea,null))['catch'](handleError(_0x50a2ea,null));};