62c729c23f312dd62ef3ce4f5c2069ecde0f55f0
[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 _0xa703=['mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','error','stack','name','body','Action','params','destroy','catch','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird'];(function(_0xef8146,_0x459c34){var _0x5a6cb0=function(_0x2f84ec){while(--_0x2f84ec){_0xef8146['push'](_0xef8146['shift']());}};_0x5a6cb0(++_0x459c34);}(_0xa703,0x8a));var _0x3a70=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0xa703[_0x501510];return _0x1e6ee5;};'use strict';var emlformat=require(_0x3a70('0x0'));var rimraf=require(_0x3a70('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3a70('0x2'));var rp=require(_0x3a70('0x3'));var moment=require(_0x3a70('0x4'));var BPromise=require(_0x3a70('0x5'));var Mustache=require(_0x3a70('0x6'));var util=require(_0x3a70('0x7'));var path=require(_0x3a70('0x8'));var sox=require(_0x3a70('0x9'));var csv=require(_0x3a70('0xa'));var ejs=require(_0x3a70('0xb'));var fs=require('fs');var fs_extra=require(_0x3a70('0xc'));var _=require(_0x3a70('0xd'));var squel=require(_0x3a70('0xe'));var crypto=require(_0x3a70('0xf'));var jsforce=require(_0x3a70('0x10'));var deskjs=require(_0x3a70('0x11'));var toCsv=require('to-csv');var querystring=require(_0x3a70('0x12'));var Papa=require('papaparse');var Redis=require(_0x3a70('0x13'));var authService=require(_0x3a70('0x14'));var qs=require(_0x3a70('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3a70('0x16'))('api');var utils=require(_0x3a70('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x3a70('0x18'))['db'];function respondWithStatusCode(_0x330037,_0x88e8cf){_0x88e8cf=_0x88e8cf||0xcc;return function(_0x513b5d){if(_0x513b5d){return _0x330037[_0x3a70('0x19')](_0x88e8cf);}return _0x330037['status'](_0x88e8cf)[_0x3a70('0x1a')]();};}function respondWithResult(_0x2403e7,_0x1044e7){_0x1044e7=_0x1044e7||0xc8;return function(_0x61620d){if(_0x61620d){return _0x2403e7[_0x3a70('0x1b')](_0x1044e7)[_0x3a70('0x1c')](_0x61620d);}};}function respondWithFilteredResult(_0x1c8dcb,_0x59f0bf){return function(_0x5af578){if(_0x5af578){var _0x6e6960=typeof _0x59f0bf[_0x3a70('0x1d')]==='undefined'&&typeof _0x59f0bf[_0x3a70('0x1e')]===_0x3a70('0x1f');var _0x35a929=_0x5af578['count'];var _0x33b01b=_0x6e6960?0x0:_0x59f0bf[_0x3a70('0x1d')];var _0x19a99c=_0x6e6960?_0x5af578[_0x3a70('0x20')]:_0x59f0bf[_0x3a70('0x1d')]+_0x59f0bf[_0x3a70('0x1e')];var _0x439332;if(_0x19a99c>=_0x35a929){_0x19a99c=_0x35a929;_0x439332=0xc8;}else{_0x439332=0xce;}_0x1c8dcb[_0x3a70('0x1b')](_0x439332);return _0x1c8dcb[_0x3a70('0x21')](_0x3a70('0x22'),_0x33b01b+'-'+_0x19a99c+'/'+_0x35a929)['json'](_0x5af578);}return null;};}function patchUpdates(_0xfb8c11){return function(_0x17a4d5){try{jsonpatch[_0x3a70('0x23')](_0x17a4d5,_0xfb8c11,!![]);}catch(_0x4e49b3){return BPromise[_0x3a70('0x24')](_0x4e49b3);}return _0x17a4d5[_0x3a70('0x25')]();};}function saveUpdates(_0x385489,_0x3cc5bd){return function(_0xd5178e){if(_0xd5178e){return _0xd5178e[_0x3a70('0x26')](_0x385489)[_0x3a70('0x27')](function(_0x469885){return _0x469885;});}return null;};}function removeEntity(_0x1a706f,_0xfdffa7){return function(_0x429122){if(_0x429122){return _0x429122['destroy']()[_0x3a70('0x27')](function(){_0x1a706f[_0x3a70('0x1b')](0xcc)[_0x3a70('0x1a')]();});}};}function handleEntityNotFound(_0x44e441,_0x4de827){return function(_0x3d3c05){if(!_0x3d3c05){_0x44e441[_0x3a70('0x19')](0x194);}return _0x3d3c05;};}function handleError(_0x2dc444,_0x21423d){_0x21423d=_0x21423d||0x1f4;return function(_0x2317ba){logger[_0x3a70('0x28')](_0x2317ba[_0x3a70('0x29')]);if(_0x2317ba[_0x3a70('0x2a')]){delete _0x2317ba[_0x3a70('0x2a')];}_0x2dc444[_0x3a70('0x1b')](_0x21423d)['send'](_0x2317ba);};}exports['update']=function(_0x3a0bc0,_0x2123dc){if(_0x3a0bc0['body']['id']){delete _0x3a0bc0[_0x3a70('0x2b')]['id'];}return db[_0x3a70('0x2c')]['find']({'where':{'id':_0x3a0bc0[_0x3a70('0x2d')]['id']}})['then'](handleEntityNotFound(_0x2123dc,null))[_0x3a70('0x27')](saveUpdates(_0x3a0bc0['body'],null))[_0x3a70('0x27')](respondWithResult(_0x2123dc,null))['catch'](handleError(_0x2123dc,null));};exports[_0x3a70('0x2e')]=function(_0x512038,_0x15346a){return db['Action']['find']({'where':{'id':_0x512038['params']['id']}})[_0x3a70('0x27')](handleEntityNotFound(_0x15346a,null))['then'](removeEntity(_0x15346a,null))[_0x3a70('0x2f')](handleError(_0x15346a,null));};