3f1a32e5118686cd060d6b2e71cee896247e8759
[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 _0x0c2b=['../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','body','Action','find','params','catch','eml-format','rimraf','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x53828f,_0x8772f1){var _0x2a897a=function(_0x167742){while(--_0x167742){_0x53828f['push'](_0x53828f['shift']());}};_0x2a897a(++_0x8772f1);}(_0x0c2b,0x194));var _0xb0c2=function(_0x155aaf,_0x207d3b){_0x155aaf=_0x155aaf-0x0;var _0x1f6d76=_0x0c2b[_0x155aaf];return _0x1f6d76;};'use strict';var emlformat=require(_0xb0c2('0x0'));var rimraf=require(_0xb0c2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb0c2('0x2'));var rp=require(_0xb0c2('0x3'));var moment=require(_0xb0c2('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xb0c2('0x5'));var path=require(_0xb0c2('0x6'));var sox=require(_0xb0c2('0x7'));var csv=require(_0xb0c2('0x8'));var ejs=require(_0xb0c2('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb0c2('0xa'));var squel=require(_0xb0c2('0xb'));var crypto=require(_0xb0c2('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xb0c2('0xd'));var toCsv=require(_0xb0c2('0x8'));var querystring=require(_0xb0c2('0xe'));var Papa=require(_0xb0c2('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xb0c2('0x10'));var as=require(_0xb0c2('0x11'));var hardwareService=require(_0xb0c2('0x12'));var logger=require(_0xb0c2('0x13'))('api');var utils=require(_0xb0c2('0x14'));var config=require(_0xb0c2('0x15'));var licenseUtil=require(_0xb0c2('0x16'));var db=require(_0xb0c2('0x17'))['db'];function respondWithStatusCode(_0x182277,_0x2b06fd){_0x2b06fd=_0x2b06fd||0xcc;return function(_0x36366b){if(_0x36366b){return _0x182277[_0xb0c2('0x18')](_0x2b06fd);}return _0x182277[_0xb0c2('0x19')](_0x2b06fd)[_0xb0c2('0x1a')]();};}function respondWithResult(_0x3dc3de,_0x523ded){_0x523ded=_0x523ded||0xc8;return function(_0x2efdab){if(_0x2efdab){return _0x3dc3de[_0xb0c2('0x19')](_0x523ded)[_0xb0c2('0x1b')](_0x2efdab);}};}function respondWithFilteredResult(_0x50e3fa,_0x31400e){return function(_0xb35aad){if(_0xb35aad){var _0x43f6ba=_0xb35aad[_0xb0c2('0x1c')],_0x4ed594=_0x31400e[_0xb0c2('0x1d')],_0x5b9e81=_0x31400e['offset']+_0x31400e[_0xb0c2('0x1e')],_0x332d44;if(_0x5b9e81>=_0x43f6ba){_0x5b9e81=_0x43f6ba;_0x332d44=0xc8;}else{_0x332d44=0xce;}_0x50e3fa[_0xb0c2('0x19')](_0x332d44);return _0x50e3fa['set'](_0xb0c2('0x1f'),_0x4ed594+'-'+_0x5b9e81+'/'+_0x43f6ba)[_0xb0c2('0x1b')](_0xb35aad);}return null;};}function patchUpdates(_0x4627c4){return function(_0x47e28e){try{jsonpatch[_0xb0c2('0x20')](_0x47e28e,_0x4627c4,!![]);}catch(_0x2604be){return BPromise[_0xb0c2('0x21')](_0x2604be);}return _0x47e28e[_0xb0c2('0x22')]();};}function saveUpdates(_0x40b38d,_0x1c3977){return function(_0x3b92cb){if(_0x3b92cb){return _0x3b92cb[_0xb0c2('0x23')](_0x40b38d)[_0xb0c2('0x24')](function(_0x359f27){return _0x359f27;});}return null;};}function removeEntity(_0x59066e,_0x14423c){return function(_0x2e1419){if(_0x2e1419){return _0x2e1419[_0xb0c2('0x25')]()[_0xb0c2('0x24')](function(){_0x59066e[_0xb0c2('0x19')](0xcc)[_0xb0c2('0x1a')]();});}};}function handleEntityNotFound(_0x2be851,_0x49b9e5){return function(_0x457793){if(!_0x457793){_0x2be851['sendStatus'](0x194);}return _0x457793;};}function handleError(_0x49c199,_0x528033){_0x528033=_0x528033||0x1f4;return function(_0x4c3359){logger[_0xb0c2('0x26')](_0x4c3359[_0xb0c2('0x27')]);if(_0x4c3359[_0xb0c2('0x28')]){delete _0x4c3359['name'];}_0x49c199[_0xb0c2('0x19')](_0x528033)[_0xb0c2('0x29')](_0x4c3359);};}exports[_0xb0c2('0x23')]=function(_0x2633c6,_0x153291){if(_0x2633c6[_0xb0c2('0x2a')]['id']){delete _0x2633c6[_0xb0c2('0x2a')]['id'];}return db[_0xb0c2('0x2b')][_0xb0c2('0x2c')]({'where':{'id':_0x2633c6[_0xb0c2('0x2d')]['id']}})['then'](handleEntityNotFound(_0x153291,null))['then'](saveUpdates(_0x2633c6['body'],null))[_0xb0c2('0x24')](respondWithResult(_0x153291,null))[_0xb0c2('0x2e')](handleError(_0x153291,null));};exports[_0xb0c2('0x25')]=function(_0x470291,_0x341b01){return db[_0xb0c2('0x2b')][_0xb0c2('0x2c')]({'where':{'id':_0x470291[_0xb0c2('0x2d')]['id']}})[_0xb0c2('0x24')](handleEntityNotFound(_0x341b01,null))[_0xb0c2('0x24')](removeEntity(_0x341b01,null))[_0xb0c2('0x2e')](handleError(_0x341b01,null));};