Built motion from commit ff426b3f.|2.6.29
[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 _0xabac=['Content-Range','json','apply','reject','save','then','destroy','error','stack','name','update','body','Action','find','params','eml-format','rimraf','zip-dir','mustache','util','path','to-csv','ejs','fs-extra','squel','querystring','papaparse','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','count','offset','set'];(function(_0x1c083c,_0x20b324){var _0x412b21=function(_0x388dc7){while(--_0x388dc7){_0x1c083c['push'](_0x1c083c['shift']());}};_0x412b21(++_0x20b324);}(_0xabac,0x1dd));var _0xcaba=function(_0x1eb18c,_0x4860ae){_0x1eb18c=_0x1eb18c-0x0;var _0x2eb78a=_0xabac[_0x1eb18c];return _0x2eb78a;};'use strict';var emlformat=require(_0xcaba('0x0'));var rimraf=require(_0xcaba('0x1'));var zipdir=require(_0xcaba('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xcaba('0x3'));var util=require(_0xcaba('0x4'));var path=require(_0xcaba('0x5'));var sox=require('sox');var csv=require(_0xcaba('0x6'));var ejs=require(_0xcaba('0x7'));var fs=require('fs');var fs_extra=require(_0xcaba('0x8'));var _=require('lodash');var squel=require(_0xcaba('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xcaba('0x6'));var querystring=require(_0xcaba('0xa'));var Papa=require(_0xcaba('0xb'));var Redis=require('ioredis');var authService=require(_0xcaba('0xc'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcaba('0xd'));var logger=require('../../config/logger')(_0xcaba('0xe'));var utils=require(_0xcaba('0xf'));var config=require(_0xcaba('0x10'));var licenseUtil=require(_0xcaba('0x11'));var db=require(_0xcaba('0x12'))['db'];function respondWithStatusCode(_0x329b3f,_0x1b1bd8){_0x1b1bd8=_0x1b1bd8||0xcc;return function(_0x52fe2f){if(_0x52fe2f){return _0x329b3f[_0xcaba('0x13')](_0x1b1bd8);}return _0x329b3f[_0xcaba('0x14')](_0x1b1bd8)[_0xcaba('0x15')]();};}function respondWithResult(_0x4b4554,_0x32a279){_0x32a279=_0x32a279||0xc8;return function(_0x5d3911){if(_0x5d3911){return _0x4b4554['status'](_0x32a279)['json'](_0x5d3911);}};}function respondWithFilteredResult(_0x16ab1e,_0x3c6ae7){return function(_0x340993){if(_0x340993){var _0x7bd979=typeof _0x3c6ae7['offset']===_0xcaba('0x16')&&typeof _0x3c6ae7[_0xcaba('0x17')]===_0xcaba('0x16');var _0x3034e6=_0x340993[_0xcaba('0x18')];var _0x32b98f=_0x7bd979?0x0:_0x3c6ae7[_0xcaba('0x19')];var _0x5a8407=_0x7bd979?_0x340993[_0xcaba('0x18')]:_0x3c6ae7[_0xcaba('0x19')]+_0x3c6ae7[_0xcaba('0x17')];var _0xdec068;if(_0x5a8407>=_0x3034e6){_0x5a8407=_0x3034e6;_0xdec068=0xc8;}else{_0xdec068=0xce;}_0x16ab1e[_0xcaba('0x14')](_0xdec068);return _0x16ab1e[_0xcaba('0x1a')](_0xcaba('0x1b'),_0x32b98f+'-'+_0x5a8407+'/'+_0x3034e6)[_0xcaba('0x1c')](_0x340993);}return null;};}function patchUpdates(_0x24ba81){return function(_0x2a53bf){try{jsonpatch[_0xcaba('0x1d')](_0x2a53bf,_0x24ba81,!![]);}catch(_0x538bff){return BPromise[_0xcaba('0x1e')](_0x538bff);}return _0x2a53bf[_0xcaba('0x1f')]();};}function saveUpdates(_0x269534,_0x3384e7){return function(_0xc09e81){if(_0xc09e81){return _0xc09e81['update'](_0x269534)[_0xcaba('0x20')](function(_0x1ee0c9){return _0x1ee0c9;});}return null;};}function removeEntity(_0x5540d8,_0x28f90f){return function(_0x229d18){if(_0x229d18){return _0x229d18[_0xcaba('0x21')]()[_0xcaba('0x20')](function(){_0x5540d8[_0xcaba('0x14')](0xcc)[_0xcaba('0x15')]();});}};}function handleEntityNotFound(_0x393cdd,_0x1b0a49){return function(_0x1fd7da){if(!_0x1fd7da){_0x393cdd[_0xcaba('0x13')](0x194);}return _0x1fd7da;};}function handleError(_0x3c7051,_0x240342){_0x240342=_0x240342||0x1f4;return function(_0x16e7ee){logger[_0xcaba('0x22')](_0x16e7ee[_0xcaba('0x23')]);if(_0x16e7ee[_0xcaba('0x24')]){delete _0x16e7ee[_0xcaba('0x24')];}_0x3c7051[_0xcaba('0x14')](_0x240342)['send'](_0x16e7ee);};}exports[_0xcaba('0x25')]=function(_0x2c3977,_0x43e210){if(_0x2c3977[_0xcaba('0x26')]['id']){delete _0x2c3977[_0xcaba('0x26')]['id'];}return db[_0xcaba('0x27')][_0xcaba('0x28')]({'where':{'id':_0x2c3977[_0xcaba('0x29')]['id']}})[_0xcaba('0x20')](handleEntityNotFound(_0x43e210,null))['then'](saveUpdates(_0x2c3977['body'],null))[_0xcaba('0x20')](respondWithResult(_0x43e210,null))['catch'](handleError(_0x43e210,null));};exports[_0xcaba('0x21')]=function(_0xebef53,_0x955d30){return db['Action'][_0xcaba('0x28')]({'where':{'id':_0xebef53[_0xcaba('0x29')]['id']}})[_0xcaba('0x20')](handleEntityNotFound(_0x955d30,null))[_0xcaba('0x20')](removeEntity(_0x955d30,null))['catch'](handleError(_0x955d30,null));};