Built motion from commit ab870f9e.|2.5.44
[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 _0x3eec=['body','find','params','catch','destroy','Action','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','lodash','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','status','offset','limit','undefined','count','set','Content-Range','json','reject','save','update','then','end','sendStatus','error','stack','name'];(function(_0x85e154,_0x37d630){var _0x407ad8=function(_0x484cb2){while(--_0x484cb2){_0x85e154['push'](_0x85e154['shift']());}};_0x407ad8(++_0x37d630);}(_0x3eec,0x19b));var _0xc3ee=function(_0x202b74,_0x31a505){_0x202b74=_0x202b74-0x0;var _0x114116=_0x3eec[_0x202b74];return _0x114116;};'use strict';var emlformat=require(_0xc3ee('0x0'));var rimraf=require(_0xc3ee('0x1'));var zipdir=require(_0xc3ee('0x2'));var jsonpatch=require(_0xc3ee('0x3'));var rp=require(_0xc3ee('0x4'));var moment=require(_0xc3ee('0x5'));var BPromise=require(_0xc3ee('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xc3ee('0x7'));var sox=require(_0xc3ee('0x8'));var csv=require(_0xc3ee('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc3ee('0xa'));var squel=require(_0xc3ee('0xb'));var crypto=require('crypto');var jsforce=require(_0xc3ee('0xc'));var deskjs=require(_0xc3ee('0xd'));var toCsv=require(_0xc3ee('0x9'));var querystring=require('querystring');var Papa=require(_0xc3ee('0xe'));var Redis=require('ioredis');var authService=require(_0xc3ee('0xf'));var qs=require(_0xc3ee('0x10'));var as=require(_0xc3ee('0x11'));var hardwareService=require(_0xc3ee('0x12'));var logger=require('../../config/logger')(_0xc3ee('0x13'));var utils=require(_0xc3ee('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xc3ee('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x283a22,_0x42abb6){_0x42abb6=_0x42abb6||0xcc;return function(_0x3250a4){if(_0x3250a4){return _0x283a22['sendStatus'](_0x42abb6);}return _0x283a22[_0xc3ee('0x16')](_0x42abb6)['end']();};}function respondWithResult(_0x5a885d,_0x219dbf){_0x219dbf=_0x219dbf||0xc8;return function(_0x20e5db){if(_0x20e5db){return _0x5a885d['status'](_0x219dbf)['json'](_0x20e5db);}};}function respondWithFilteredResult(_0x794ddd,_0x4d9e97){return function(_0x168ab6){if(_0x168ab6){var _0x187af4=typeof _0x4d9e97[_0xc3ee('0x17')]==='undefined'&&typeof _0x4d9e97[_0xc3ee('0x18')]===_0xc3ee('0x19');var _0x272285=_0x168ab6[_0xc3ee('0x1a')];var _0x4071fe=_0x187af4?0x0:_0x4d9e97[_0xc3ee('0x17')];var _0x58ca7b=_0x187af4?_0x168ab6[_0xc3ee('0x1a')]:_0x4d9e97['offset']+_0x4d9e97[_0xc3ee('0x18')];var _0x2861ce;if(_0x58ca7b>=_0x272285){_0x58ca7b=_0x272285;_0x2861ce=0xc8;}else{_0x2861ce=0xce;}_0x794ddd[_0xc3ee('0x16')](_0x2861ce);return _0x794ddd[_0xc3ee('0x1b')](_0xc3ee('0x1c'),_0x4071fe+'-'+_0x58ca7b+'/'+_0x272285)[_0xc3ee('0x1d')](_0x168ab6);}return null;};}function patchUpdates(_0x1c4d52){return function(_0x409e70){try{jsonpatch['apply'](_0x409e70,_0x1c4d52,!![]);}catch(_0x4b4673){return BPromise[_0xc3ee('0x1e')](_0x4b4673);}return _0x409e70[_0xc3ee('0x1f')]();};}function saveUpdates(_0x9750b5,_0x418bb0){return function(_0x5b147b){if(_0x5b147b){return _0x5b147b[_0xc3ee('0x20')](_0x9750b5)['then'](function(_0x36f00f){return _0x36f00f;});}return null;};}function removeEntity(_0x2420dc,_0xe777c9){return function(_0x4438ea){if(_0x4438ea){return _0x4438ea['destroy']()[_0xc3ee('0x21')](function(){_0x2420dc[_0xc3ee('0x16')](0xcc)[_0xc3ee('0x22')]();});}};}function handleEntityNotFound(_0x4d1a92,_0x2ae7ee){return function(_0x499e75){if(!_0x499e75){_0x4d1a92[_0xc3ee('0x23')](0x194);}return _0x499e75;};}function handleError(_0xfd7669,_0x465a5f){_0x465a5f=_0x465a5f||0x1f4;return function(_0x43c6a3){logger[_0xc3ee('0x24')](_0x43c6a3[_0xc3ee('0x25')]);if(_0x43c6a3[_0xc3ee('0x26')]){delete _0x43c6a3[_0xc3ee('0x26')];}_0xfd7669['status'](_0x465a5f)['send'](_0x43c6a3);};}exports[_0xc3ee('0x20')]=function(_0x21e808,_0x31ffbd){if(_0x21e808[_0xc3ee('0x27')]['id']){delete _0x21e808['body']['id'];}return db['Action'][_0xc3ee('0x28')]({'where':{'id':_0x21e808[_0xc3ee('0x29')]['id']}})[_0xc3ee('0x21')](handleEntityNotFound(_0x31ffbd,null))['then'](saveUpdates(_0x21e808[_0xc3ee('0x27')],null))[_0xc3ee('0x21')](respondWithResult(_0x31ffbd,null))[_0xc3ee('0x2a')](handleError(_0x31ffbd,null));};exports[_0xc3ee('0x2b')]=function(_0x256623,_0x2707d3){return db[_0xc3ee('0x2c')]['find']({'where':{'id':_0x256623[_0xc3ee('0x29')]['id']}})[_0xc3ee('0x21')](handleEntityNotFound(_0x2707d3,null))['then'](removeEntity(_0x2707d3,null))[_0xc3ee('0x2a')](handleError(_0x2707d3,null));};