Built motion from commit 3e059bc2.|2.5.32
[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 _0x3611=['../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','body','Action','find','catch','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x872b02,_0x4f4458){var _0x1a6b24=function(_0x1dfb4e){while(--_0x1dfb4e){_0x872b02['push'](_0x872b02['shift']());}};_0x1a6b24(++_0x4f4458);}(_0x3611,0xbd));var _0x1361=function(_0xf4d30a,_0x1fcd4b){_0xf4d30a=_0xf4d30a-0x0;var _0x240310=_0x3611[_0xf4d30a];return _0x240310;};'use strict';var emlformat=require(_0x1361('0x0'));var rimraf=require(_0x1361('0x1'));var zipdir=require(_0x1361('0x2'));var jsonpatch=require(_0x1361('0x3'));var rp=require(_0x1361('0x4'));var moment=require(_0x1361('0x5'));var BPromise=require(_0x1361('0x6'));var Mustache=require(_0x1361('0x7'));var util=require(_0x1361('0x8'));var path=require(_0x1361('0x9'));var sox=require(_0x1361('0xa'));var csv=require(_0x1361('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1361('0xc'));var _=require(_0x1361('0xd'));var squel=require(_0x1361('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x1361('0xf'));var toCsv=require(_0x1361('0xb'));var querystring=require(_0x1361('0x10'));var Papa=require(_0x1361('0x11'));var Redis=require(_0x1361('0x12'));var authService=require(_0x1361('0x13'));var qs=require(_0x1361('0x14'));var as=require(_0x1361('0x15'));var hardwareService=require(_0x1361('0x16'));var logger=require(_0x1361('0x17'))(_0x1361('0x18'));var utils=require(_0x1361('0x19'));var config=require(_0x1361('0x1a'));var licenseUtil=require(_0x1361('0x1b'));var db=require(_0x1361('0x1c'))['db'];function respondWithStatusCode(_0x4ddc16,_0x1561bb){_0x1561bb=_0x1561bb||0xcc;return function(_0x4252a4){if(_0x4252a4){return _0x4ddc16[_0x1361('0x1d')](_0x1561bb);}return _0x4ddc16[_0x1361('0x1e')](_0x1561bb)[_0x1361('0x1f')]();};}function respondWithResult(_0x45c2e3,_0x4d231f){_0x4d231f=_0x4d231f||0xc8;return function(_0x132387){if(_0x132387){return _0x45c2e3[_0x1361('0x1e')](_0x4d231f)[_0x1361('0x20')](_0x132387);}};}function respondWithFilteredResult(_0x174eec,_0x27e929){return function(_0x4b8b83){if(_0x4b8b83){var _0x5f54d4=typeof _0x27e929[_0x1361('0x21')]===_0x1361('0x22')&&typeof _0x27e929['limit']===_0x1361('0x22');var _0x532bbe=_0x4b8b83[_0x1361('0x23')];var _0x390e86=_0x5f54d4?0x0:_0x27e929[_0x1361('0x21')];var _0x4c2f5c=_0x5f54d4?_0x4b8b83[_0x1361('0x23')]:_0x27e929[_0x1361('0x21')]+_0x27e929[_0x1361('0x24')];var _0x2ed4ae;if(_0x4c2f5c>=_0x532bbe){_0x4c2f5c=_0x532bbe;_0x2ed4ae=0xc8;}else{_0x2ed4ae=0xce;}_0x174eec[_0x1361('0x1e')](_0x2ed4ae);return _0x174eec[_0x1361('0x25')](_0x1361('0x26'),_0x390e86+'-'+_0x4c2f5c+'/'+_0x532bbe)[_0x1361('0x20')](_0x4b8b83);}return null;};}function patchUpdates(_0x417336){return function(_0x5b3e8a){try{jsonpatch[_0x1361('0x27')](_0x5b3e8a,_0x417336,!![]);}catch(_0x17a717){return BPromise['reject'](_0x17a717);}return _0x5b3e8a[_0x1361('0x28')]();};}function saveUpdates(_0x53eac3,_0x2039c3){return function(_0x248ebc){if(_0x248ebc){return _0x248ebc[_0x1361('0x29')](_0x53eac3)[_0x1361('0x2a')](function(_0x565a1f){return _0x565a1f;});}return null;};}function removeEntity(_0x74c6e0,_0x18fc93){return function(_0x291359){if(_0x291359){return _0x291359[_0x1361('0x2b')]()[_0x1361('0x2a')](function(){_0x74c6e0[_0x1361('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23acef,_0x3b1f9a){return function(_0x2a725e){if(!_0x2a725e){_0x23acef['sendStatus'](0x194);}return _0x2a725e;};}function handleError(_0x4cb2f1,_0x4b51b1){_0x4b51b1=_0x4b51b1||0x1f4;return function(_0x2d1648){logger[_0x1361('0x2c')](_0x2d1648[_0x1361('0x2d')]);if(_0x2d1648[_0x1361('0x2e')]){delete _0x2d1648[_0x1361('0x2e')];}_0x4cb2f1['status'](_0x4b51b1)[_0x1361('0x2f')](_0x2d1648);};}exports[_0x1361('0x29')]=function(_0x3c2d32,_0x2ede5d){if(_0x3c2d32[_0x1361('0x30')]['id']){delete _0x3c2d32[_0x1361('0x30')]['id'];}return db[_0x1361('0x31')][_0x1361('0x32')]({'where':{'id':_0x3c2d32['params']['id']}})['then'](handleEntityNotFound(_0x2ede5d,null))[_0x1361('0x2a')](saveUpdates(_0x3c2d32[_0x1361('0x30')],null))['then'](respondWithResult(_0x2ede5d,null))[_0x1361('0x33')](handleError(_0x2ede5d,null));};exports['destroy']=function(_0x5d1a50,_0x534fa9){return db[_0x1361('0x31')][_0x1361('0x32')]({'where':{'id':_0x5d1a50[_0x1361('0x34')]['id']}})[_0x1361('0x2a')](handleEntityNotFound(_0x534fa9,null))[_0x1361('0x2a')](removeEntity(_0x534fa9,null))['catch'](handleError(_0x534fa9,null));};