37ee09b614f24ec2189622721605376f78f27854
[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 _0xe0c1=['request-promise','moment','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','error','stack','name','send','body','Action','find','then','catch','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch'];(function(_0x3f1cea,_0xcd60bd){var _0x5d761a=function(_0x3f79c4){while(--_0x3f79c4){_0x3f1cea['push'](_0x3f1cea['shift']());}};_0x5d761a(++_0xcd60bd);}(_0xe0c1,0x10f));var _0x1e0c=function(_0xd5b0a0,_0x738713){_0xd5b0a0=_0xd5b0a0-0x0;var _0x451494=_0xe0c1[_0xd5b0a0];return _0x451494;};'use strict';var pdf=require(_0x1e0c('0x0'));var emlformat=require(_0x1e0c('0x1'));var rimraf=require(_0x1e0c('0x2'));var zipdir=require(_0x1e0c('0x3'));var jsonpatch=require(_0x1e0c('0x4'));var rp=require(_0x1e0c('0x5'));var moment=require(_0x1e0c('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1e0c('0x7'));var fs=require('fs');var _=require(_0x1e0c('0x8'));var squel=require(_0x1e0c('0x9'));var crypto=require(_0x1e0c('0xa'));var jsforce=require(_0x1e0c('0xb'));var deskjs=require(_0x1e0c('0xc'));var toCsv=require(_0x1e0c('0xd'));var querystring=require(_0x1e0c('0xe'));var Papa=require('papaparse');var Redis=require(_0x1e0c('0xf'));var authService=require(_0x1e0c('0x10'));var qs=require(_0x1e0c('0x11'));var as=require(_0x1e0c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1e0c('0x13'))(_0x1e0c('0x14'));var utils=require(_0x1e0c('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x1e0c('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x138605,_0x39305e){_0x39305e=_0x39305e||0xcc;return function(_0x432542){if(_0x432542){return _0x138605[_0x1e0c('0x17')](_0x39305e);}return _0x138605[_0x1e0c('0x18')](_0x39305e)[_0x1e0c('0x19')]();};}function respondWithResult(_0x1aece1,_0x1c2616){_0x1c2616=_0x1c2616||0xc8;return function(_0x1fbc44){if(_0x1fbc44){return _0x1aece1[_0x1e0c('0x18')](_0x1c2616)['json'](_0x1fbc44);}};}function respondWithFilteredResult(_0x3970ae,_0x57ad85){return function(_0x2500d7){if(_0x2500d7){var _0xcf9c3b=_0x2500d7[_0x1e0c('0x1a')],_0x13840b=_0x57ad85[_0x1e0c('0x1b')],_0xb52d20=_0x57ad85['offset']+_0x57ad85[_0x1e0c('0x1c')],_0x3dfe8e;if(_0xb52d20>=_0xcf9c3b){_0xb52d20=_0xcf9c3b;_0x3dfe8e=0xc8;}else{_0x3dfe8e=0xce;}_0x3970ae[_0x1e0c('0x18')](_0x3dfe8e);return _0x3970ae[_0x1e0c('0x1d')](_0x1e0c('0x1e'),_0x13840b+'-'+_0xb52d20+'/'+_0xcf9c3b)['json'](_0x2500d7);}return null;};}function patchUpdates(_0x539a39){return function(_0x596304){try{jsonpatch[_0x1e0c('0x1f')](_0x596304,_0x539a39,!![]);}catch(_0x268365){return BPromise[_0x1e0c('0x20')](_0x268365);}return _0x596304[_0x1e0c('0x21')]();};}function saveUpdates(_0x3f2a59,_0x3a94f0){return function(_0x159a3f){if(_0x159a3f){return _0x159a3f[_0x1e0c('0x22')](_0x3f2a59)['then'](function(_0x5d6943){return _0x5d6943;});}return null;};}function removeEntity(_0x3885d2,_0x38d8bd){return function(_0x3b1200){if(_0x3b1200){return _0x3b1200[_0x1e0c('0x23')]()['then'](function(){_0x3885d2[_0x1e0c('0x18')](0xcc)[_0x1e0c('0x19')]();});}};}function handleEntityNotFound(_0x1edf97,_0x1cf772){return function(_0x3d5f10){if(!_0x3d5f10){_0x1edf97[_0x1e0c('0x17')](0x194);}return _0x3d5f10;};}function handleError(_0x509efd,_0x50f968){_0x50f968=_0x50f968||0x1f4;return function(_0x1d7c49){logger[_0x1e0c('0x24')](_0x1d7c49[_0x1e0c('0x25')]);if(_0x1d7c49[_0x1e0c('0x26')]){delete _0x1d7c49['name'];}_0x509efd[_0x1e0c('0x18')](_0x50f968)[_0x1e0c('0x27')](_0x1d7c49);};}exports[_0x1e0c('0x22')]=function(_0x5e7e6f,_0xef59ad){if(_0x5e7e6f[_0x1e0c('0x28')]['id']){delete _0x5e7e6f[_0x1e0c('0x28')]['id'];}return db[_0x1e0c('0x29')][_0x1e0c('0x2a')]({'where':{'id':_0x5e7e6f['params']['id']}})[_0x1e0c('0x2b')](handleEntityNotFound(_0xef59ad,null))['then'](saveUpdates(_0x5e7e6f[_0x1e0c('0x28')],null))['then'](respondWithResult(_0xef59ad,null))[_0x1e0c('0x2c')](handleError(_0xef59ad,null));};exports[_0x1e0c('0x23')]=function(_0x36c0cb,_0x28422a){return db[_0x1e0c('0x29')]['find']({'where':{'id':_0x36c0cb[_0x1e0c('0x2d')]['id']}})[_0x1e0c('0x2b')](handleEntityNotFound(_0x28422a,null))['then'](removeEntity(_0x28422a,null))['catch'](handleError(_0x28422a,null));};