5f4111b221d8c03feec5295ee8a6bc3b68a936d5
[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 _0xd975=['stack','name','body','Action','find','params','catch','destroy','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','update','then'];(function(_0x5d6456,_0x58ecc7){var _0x4d66c1=function(_0x4335e3){while(--_0x4335e3){_0x5d6456['push'](_0x5d6456['shift']());}};_0x4d66c1(++_0x58ecc7);}(_0xd975,0xb8));var _0x5d97=function(_0x53cbd1,_0x51645d){_0x53cbd1=_0x53cbd1-0x0;var _0x4b4a5c=_0xd975[_0x53cbd1];return _0x4b4a5c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5d97('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5d97('0x1'));var rp=require(_0x5d97('0x2'));var moment=require(_0x5d97('0x3'));var BPromise=require(_0x5d97('0x4'));var Mustache=require(_0x5d97('0x5'));var util=require('util');var path=require(_0x5d97('0x6'));var sox=require(_0x5d97('0x7'));var csv=require(_0x5d97('0x8'));var ejs=require(_0x5d97('0x9'));var fs=require('fs');var fs_extra=require(_0x5d97('0xa'));var _=require(_0x5d97('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x5d97('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x5d97('0x8'));var querystring=require(_0x5d97('0xd'));var Papa=require(_0x5d97('0xe'));var Redis=require(_0x5d97('0xf'));var authService=require(_0x5d97('0x10'));var qs=require(_0x5d97('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5d97('0x12'));var logger=require(_0x5d97('0x13'))(_0x5d97('0x14'));var utils=require('../../config/utils');var config=require(_0x5d97('0x15'));var licenseUtil=require(_0x5d97('0x16'));var db=require(_0x5d97('0x17'))['db'];function respondWithStatusCode(_0x242f36,_0x2516a9){_0x2516a9=_0x2516a9||0xcc;return function(_0x422b73){if(_0x422b73){return _0x242f36[_0x5d97('0x18')](_0x2516a9);}return _0x242f36[_0x5d97('0x19')](_0x2516a9)[_0x5d97('0x1a')]();};}function respondWithResult(_0x29cd4f,_0x798400){_0x798400=_0x798400||0xc8;return function(_0x34882c){if(_0x34882c){return _0x29cd4f[_0x5d97('0x19')](_0x798400)[_0x5d97('0x1b')](_0x34882c);}};}function respondWithFilteredResult(_0x48b49c,_0x1d75a9){return function(_0x35496e){if(_0x35496e){var _0x51ade8=typeof _0x1d75a9[_0x5d97('0x1c')]==='undefined'&&typeof _0x1d75a9[_0x5d97('0x1d')]===_0x5d97('0x1e');var _0x40bf62=_0x35496e[_0x5d97('0x1f')];var _0x5e1edd=_0x51ade8?0x0:_0x1d75a9[_0x5d97('0x1c')];var _0x39211f=_0x51ade8?_0x35496e['count']:_0x1d75a9[_0x5d97('0x1c')]+_0x1d75a9['limit'];var _0x15fc7c;if(_0x39211f>=_0x40bf62){_0x39211f=_0x40bf62;_0x15fc7c=0xc8;}else{_0x15fc7c=0xce;}_0x48b49c['status'](_0x15fc7c);return _0x48b49c[_0x5d97('0x20')](_0x5d97('0x21'),_0x5e1edd+'-'+_0x39211f+'/'+_0x40bf62)[_0x5d97('0x1b')](_0x35496e);}return null;};}function patchUpdates(_0x421519){return function(_0x336dfd){try{jsonpatch['apply'](_0x336dfd,_0x421519,!![]);}catch(_0x1d5d91){return BPromise['reject'](_0x1d5d91);}return _0x336dfd['save']();};}function saveUpdates(_0x10b0fc,_0x24e0db){return function(_0x29b565){if(_0x29b565){return _0x29b565[_0x5d97('0x22')](_0x10b0fc)[_0x5d97('0x23')](function(_0x352ff5){return _0x352ff5;});}return null;};}function removeEntity(_0x5836dc,_0x336059){return function(_0x102745){if(_0x102745){return _0x102745['destroy']()['then'](function(){_0x5836dc['status'](0xcc)[_0x5d97('0x1a')]();});}};}function handleEntityNotFound(_0x5bda7d,_0x6f8677){return function(_0x2524ef){if(!_0x2524ef){_0x5bda7d[_0x5d97('0x18')](0x194);}return _0x2524ef;};}function handleError(_0x54fc8a,_0xda7202){_0xda7202=_0xda7202||0x1f4;return function(_0x2acebb){logger['error'](_0x2acebb[_0x5d97('0x24')]);if(_0x2acebb[_0x5d97('0x25')]){delete _0x2acebb[_0x5d97('0x25')];}_0x54fc8a[_0x5d97('0x19')](_0xda7202)['send'](_0x2acebb);};}exports['update']=function(_0x4d7e3f,_0x1060d6){if(_0x4d7e3f[_0x5d97('0x26')]['id']){delete _0x4d7e3f['body']['id'];}return db[_0x5d97('0x27')][_0x5d97('0x28')]({'where':{'id':_0x4d7e3f[_0x5d97('0x29')]['id']}})['then'](handleEntityNotFound(_0x1060d6,null))[_0x5d97('0x23')](saveUpdates(_0x4d7e3f[_0x5d97('0x26')],null))[_0x5d97('0x23')](respondWithResult(_0x1060d6,null))[_0x5d97('0x2a')](handleError(_0x1060d6,null));};exports[_0x5d97('0x2b')]=function(_0x441fa1,_0x2075df){return db[_0x5d97('0x27')][_0x5d97('0x28')]({'where':{'id':_0x441fa1[_0x5d97('0x29')]['id']}})[_0x5d97('0x23')](handleEntityNotFound(_0x2075df,null))[_0x5d97('0x23')](removeEntity(_0x2075df,null))['catch'](handleError(_0x2075df,null));};