3e64f675ea8a83003ca71012f08f2f27a3c0ba85
[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 _0xd0f3=['../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','apply','reject','save','then','sendStatus','error','stack','name','send','update','body','Action','find','catch','destroy','params','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse'];(function(_0x4154a6,_0x2c0b8e){var _0x3b2786=function(_0x2f5936){while(--_0x2f5936){_0x4154a6['push'](_0x4154a6['shift']());}};_0x3b2786(++_0x2c0b8e);}(_0xd0f3,0xcd));var _0x3d0f=function(_0x51b80a,_0x355fe3){_0x51b80a=_0x51b80a-0x0;var _0x22fdf0=_0xd0f3[_0x51b80a];return _0x22fdf0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3d0f('0x0'));var zipdir=require(_0x3d0f('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3d0f('0x2'));var moment=require(_0x3d0f('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3d0f('0x4'));var util=require(_0x3d0f('0x5'));var path=require(_0x3d0f('0x6'));var sox=require(_0x3d0f('0x7'));var csv=require(_0x3d0f('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3d0f('0x9'));var _=require('lodash');var squel=require(_0x3d0f('0xa'));var crypto=require(_0x3d0f('0xb'));var jsforce=require(_0x3d0f('0xc'));var deskjs=require(_0x3d0f('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x3d0f('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x3d0f('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3d0f('0x10'))(_0x3d0f('0x11'));var utils=require(_0x3d0f('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x3d0f('0x13'));var db=require(_0x3d0f('0x14'))['db'];function respondWithStatusCode(_0x5e2b8e,_0x39a6e5){_0x39a6e5=_0x39a6e5||0xcc;return function(_0x159d95){if(_0x159d95){return _0x5e2b8e['sendStatus'](_0x39a6e5);}return _0x5e2b8e[_0x3d0f('0x15')](_0x39a6e5)[_0x3d0f('0x16')]();};}function respondWithResult(_0x5e6d52,_0x3d1bb6){_0x3d1bb6=_0x3d1bb6||0xc8;return function(_0x55964c){if(_0x55964c){return _0x5e6d52[_0x3d0f('0x15')](_0x3d1bb6)[_0x3d0f('0x17')](_0x55964c);}};}function respondWithFilteredResult(_0x243c85,_0x2e1021){return function(_0x225143){if(_0x225143){var _0x3ecbf4=typeof _0x2e1021[_0x3d0f('0x18')]===_0x3d0f('0x19')&&typeof _0x2e1021[_0x3d0f('0x1a')]===_0x3d0f('0x19');var _0x58c8a0=_0x225143[_0x3d0f('0x1b')];var _0x1c6c0d=_0x3ecbf4?0x0:_0x2e1021['offset'];var _0x33a86e=_0x3ecbf4?_0x225143[_0x3d0f('0x1b')]:_0x2e1021[_0x3d0f('0x18')]+_0x2e1021['limit'];var _0x5a18f2;if(_0x33a86e>=_0x58c8a0){_0x33a86e=_0x58c8a0;_0x5a18f2=0xc8;}else{_0x5a18f2=0xce;}_0x243c85[_0x3d0f('0x15')](_0x5a18f2);return _0x243c85['set']('Content-Range',_0x1c6c0d+'-'+_0x33a86e+'/'+_0x58c8a0)['json'](_0x225143);}return null;};}function patchUpdates(_0x33bb4a){return function(_0x5dc708){try{jsonpatch[_0x3d0f('0x1c')](_0x5dc708,_0x33bb4a,!![]);}catch(_0x460665){return BPromise[_0x3d0f('0x1d')](_0x460665);}return _0x5dc708[_0x3d0f('0x1e')]();};}function saveUpdates(_0x2969bf,_0x4e98db){return function(_0xbd3589){if(_0xbd3589){return _0xbd3589['update'](_0x2969bf)[_0x3d0f('0x1f')](function(_0x241b00){return _0x241b00;});}return null;};}function removeEntity(_0x168904,_0x1fc65d){return function(_0x318dc3){if(_0x318dc3){return _0x318dc3['destroy']()[_0x3d0f('0x1f')](function(){_0x168904[_0x3d0f('0x15')](0xcc)[_0x3d0f('0x16')]();});}};}function handleEntityNotFound(_0x4de604,_0x44f9cb){return function(_0x408c0d){if(!_0x408c0d){_0x4de604[_0x3d0f('0x20')](0x194);}return _0x408c0d;};}function handleError(_0x182ada,_0x5ec213){_0x5ec213=_0x5ec213||0x1f4;return function(_0x178d7e){logger[_0x3d0f('0x21')](_0x178d7e[_0x3d0f('0x22')]);if(_0x178d7e[_0x3d0f('0x23')]){delete _0x178d7e[_0x3d0f('0x23')];}_0x182ada['status'](_0x5ec213)[_0x3d0f('0x24')](_0x178d7e);};}exports[_0x3d0f('0x25')]=function(_0x3579df,_0x1cbf57){if(_0x3579df[_0x3d0f('0x26')]['id']){delete _0x3579df[_0x3d0f('0x26')]['id'];}return db[_0x3d0f('0x27')][_0x3d0f('0x28')]({'where':{'id':_0x3579df['params']['id']}})['then'](handleEntityNotFound(_0x1cbf57,null))[_0x3d0f('0x1f')](saveUpdates(_0x3579df[_0x3d0f('0x26')],null))[_0x3d0f('0x1f')](respondWithResult(_0x1cbf57,null))[_0x3d0f('0x29')](handleError(_0x1cbf57,null));};exports[_0x3d0f('0x2a')]=function(_0x387650,_0x549238){return db[_0x3d0f('0x27')][_0x3d0f('0x28')]({'where':{'id':_0x387650[_0x3d0f('0x2b')]['id']}})[_0x3d0f('0x1f')](handleEntityNotFound(_0x549238,null))['then'](removeEntity(_0x549238,null))[_0x3d0f('0x29')](handleError(_0x549238,null));};