6b1815b2a80a90d573c251e7c32908d171b4f31d
[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 _0x1c94=['update','then','destroy','end','sendStatus','name','send','body','Action','find','catch','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','status','json','offset','undefined','count','set','Content-Range','reject','save'];(function(_0x4071e5,_0x19be29){var _0x10a5a7=function(_0x42389a){while(--_0x42389a){_0x4071e5['push'](_0x4071e5['shift']());}};_0x10a5a7(++_0x19be29);}(_0x1c94,0x17c));var _0x41c9=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x1c94[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x41c9('0x0'));var zipdir=require(_0x41c9('0x1'));var jsonpatch=require(_0x41c9('0x2'));var rp=require(_0x41c9('0x3'));var moment=require(_0x41c9('0x4'));var BPromise=require(_0x41c9('0x5'));var Mustache=require('mustache');var util=require(_0x41c9('0x6'));var path=require(_0x41c9('0x7'));var sox=require(_0x41c9('0x8'));var csv=require(_0x41c9('0x9'));var ejs=require(_0x41c9('0xa'));var fs=require('fs');var fs_extra=require(_0x41c9('0xb'));var _=require(_0x41c9('0xc'));var squel=require(_0x41c9('0xd'));var crypto=require(_0x41c9('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x41c9('0xf'));var toCsv=require(_0x41c9('0x9'));var querystring=require(_0x41c9('0x10'));var Papa=require('papaparse');var Redis=require(_0x41c9('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x41c9('0x12'));var as=require(_0x41c9('0x13'));var hardwareService=require(_0x41c9('0x14'));var logger=require(_0x41c9('0x15'))(_0x41c9('0x16'));var utils=require(_0x41c9('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x41c9('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1f881a,_0x500d42){_0x500d42=_0x500d42||0xcc;return function(_0x349c20){if(_0x349c20){return _0x1f881a['sendStatus'](_0x500d42);}return _0x1f881a[_0x41c9('0x19')](_0x500d42)['end']();};}function respondWithResult(_0x3c9c14,_0x5bc7d1){_0x5bc7d1=_0x5bc7d1||0xc8;return function(_0x449281){if(_0x449281){return _0x3c9c14['status'](_0x5bc7d1)[_0x41c9('0x1a')](_0x449281);}};}function respondWithFilteredResult(_0x23422d,_0x338418){return function(_0x51b233){if(_0x51b233){var _0x82931d=typeof _0x338418[_0x41c9('0x1b')]===_0x41c9('0x1c')&&typeof _0x338418['limit']==='undefined';var _0x4c6846=_0x51b233[_0x41c9('0x1d')];var _0x2512c1=_0x82931d?0x0:_0x338418[_0x41c9('0x1b')];var _0x1a25b2=_0x82931d?_0x51b233[_0x41c9('0x1d')]:_0x338418[_0x41c9('0x1b')]+_0x338418['limit'];var _0x4f8270;if(_0x1a25b2>=_0x4c6846){_0x1a25b2=_0x4c6846;_0x4f8270=0xc8;}else{_0x4f8270=0xce;}_0x23422d[_0x41c9('0x19')](_0x4f8270);return _0x23422d[_0x41c9('0x1e')](_0x41c9('0x1f'),_0x2512c1+'-'+_0x1a25b2+'/'+_0x4c6846)[_0x41c9('0x1a')](_0x51b233);}return null;};}function patchUpdates(_0x3bf480){return function(_0x3448aa){try{jsonpatch['apply'](_0x3448aa,_0x3bf480,!![]);}catch(_0x2297d9){return BPromise[_0x41c9('0x20')](_0x2297d9);}return _0x3448aa[_0x41c9('0x21')]();};}function saveUpdates(_0x395188,_0x379676){return function(_0x3990d8){if(_0x3990d8){return _0x3990d8[_0x41c9('0x22')](_0x395188)[_0x41c9('0x23')](function(_0x17cd09){return _0x17cd09;});}return null;};}function removeEntity(_0x4c2502,_0x5bc176){return function(_0x4226e8){if(_0x4226e8){return _0x4226e8[_0x41c9('0x24')]()[_0x41c9('0x23')](function(){_0x4c2502[_0x41c9('0x19')](0xcc)[_0x41c9('0x25')]();});}};}function handleEntityNotFound(_0x225b5e,_0x37df44){return function(_0x1dd794){if(!_0x1dd794){_0x225b5e[_0x41c9('0x26')](0x194);}return _0x1dd794;};}function handleError(_0xa14835,_0x5ae7ea){_0x5ae7ea=_0x5ae7ea||0x1f4;return function(_0x12667f){logger['error'](_0x12667f['stack']);if(_0x12667f[_0x41c9('0x27')]){delete _0x12667f[_0x41c9('0x27')];}_0xa14835[_0x41c9('0x19')](_0x5ae7ea)[_0x41c9('0x28')](_0x12667f);};}exports[_0x41c9('0x22')]=function(_0x17212e,_0x2a0a74){if(_0x17212e[_0x41c9('0x29')]['id']){delete _0x17212e[_0x41c9('0x29')]['id'];}return db[_0x41c9('0x2a')][_0x41c9('0x2b')]({'where':{'id':_0x17212e['params']['id']}})[_0x41c9('0x23')](handleEntityNotFound(_0x2a0a74,null))[_0x41c9('0x23')](saveUpdates(_0x17212e[_0x41c9('0x29')],null))[_0x41c9('0x23')](respondWithResult(_0x2a0a74,null))[_0x41c9('0x2c')](handleError(_0x2a0a74,null));};exports[_0x41c9('0x24')]=function(_0x81303a,_0x235392){return db[_0x41c9('0x2a')][_0x41c9('0x2b')]({'where':{'id':_0x81303a[_0x41c9('0x2d')]['id']}})[_0x41c9('0x23')](handleEntityNotFound(_0x235392,null))[_0x41c9('0x23')](removeEntity(_0x235392,null))[_0x41c9('0x2c')](handleError(_0x235392,null));};