Built motion from commit e38a297d.|2.6.18
[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 _0x8d1c=['path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','error','stack','name','send','body','params','destroy','Action','find','catch','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util'];(function(_0x4cb363,_0xf6185a){var _0xdc8cd9=function(_0x8f630d){while(--_0x8f630d){_0x4cb363['push'](_0x4cb363['shift']());}};_0xdc8cd9(++_0xf6185a);}(_0x8d1c,0xd5));var _0xc8d1=function(_0x1469c6,_0x292c2c){_0x1469c6=_0x1469c6-0x0;var _0x340763=_0x8d1c[_0x1469c6];return _0x340763;};'use strict';var emlformat=require(_0xc8d1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc8d1('0x1'));var jsonpatch=require(_0xc8d1('0x2'));var rp=require(_0xc8d1('0x3'));var moment=require(_0xc8d1('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xc8d1('0x5'));var util=require(_0xc8d1('0x6'));var path=require(_0xc8d1('0x7'));var sox=require('sox');var csv=require(_0xc8d1('0x8'));var ejs=require(_0xc8d1('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc8d1('0xa'));var squel=require(_0xc8d1('0xb'));var crypto=require(_0xc8d1('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xc8d1('0xd'));var toCsv=require(_0xc8d1('0x8'));var querystring=require(_0xc8d1('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xc8d1('0xf'));var qs=require(_0xc8d1('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xc8d1('0x11'));var licenseUtil=require(_0xc8d1('0x12'));var db=require(_0xc8d1('0x13'))['db'];function respondWithStatusCode(_0x8b4c10,_0x10ccf2){_0x10ccf2=_0x10ccf2||0xcc;return function(_0x2f2c8a){if(_0x2f2c8a){return _0x8b4c10[_0xc8d1('0x14')](_0x10ccf2);}return _0x8b4c10['status'](_0x10ccf2)[_0xc8d1('0x15')]();};}function respondWithResult(_0x3d0bc7,_0x568fce){_0x568fce=_0x568fce||0xc8;return function(_0x56d076){if(_0x56d076){return _0x3d0bc7[_0xc8d1('0x16')](_0x568fce)[_0xc8d1('0x17')](_0x56d076);}};}function respondWithFilteredResult(_0x1f2240,_0x5707c2){return function(_0x4f72d7){if(_0x4f72d7){var _0x4d09cf=typeof _0x5707c2[_0xc8d1('0x18')]===_0xc8d1('0x19')&&typeof _0x5707c2[_0xc8d1('0x1a')]==='undefined';var _0x4e5cdc=_0x4f72d7[_0xc8d1('0x1b')];var _0x22f78e=_0x4d09cf?0x0:_0x5707c2[_0xc8d1('0x18')];var _0x5c99c4=_0x4d09cf?_0x4f72d7[_0xc8d1('0x1b')]:_0x5707c2[_0xc8d1('0x18')]+_0x5707c2[_0xc8d1('0x1a')];var _0x1af467;if(_0x5c99c4>=_0x4e5cdc){_0x5c99c4=_0x4e5cdc;_0x1af467=0xc8;}else{_0x1af467=0xce;}_0x1f2240[_0xc8d1('0x16')](_0x1af467);return _0x1f2240['set'](_0xc8d1('0x1c'),_0x22f78e+'-'+_0x5c99c4+'/'+_0x4e5cdc)[_0xc8d1('0x17')](_0x4f72d7);}return null;};}function patchUpdates(_0x583b01){return function(_0x131913){try{jsonpatch[_0xc8d1('0x1d')](_0x131913,_0x583b01,!![]);}catch(_0x2654ff){return BPromise[_0xc8d1('0x1e')](_0x2654ff);}return _0x131913[_0xc8d1('0x1f')]();};}function saveUpdates(_0x40f092,_0x9d8ef8){return function(_0x5313a1){if(_0x5313a1){return _0x5313a1[_0xc8d1('0x20')](_0x40f092)[_0xc8d1('0x21')](function(_0x17912c){return _0x17912c;});}return null;};}function removeEntity(_0x5c0e15,_0x3c2518){return function(_0x443179){if(_0x443179){return _0x443179['destroy']()[_0xc8d1('0x21')](function(){_0x5c0e15[_0xc8d1('0x16')](0xcc)[_0xc8d1('0x15')]();});}};}function handleEntityNotFound(_0x12a347,_0x5b5a2a){return function(_0x5a162e){if(!_0x5a162e){_0x12a347[_0xc8d1('0x14')](0x194);}return _0x5a162e;};}function handleError(_0xbf0016,_0x380b2a){_0x380b2a=_0x380b2a||0x1f4;return function(_0x4c2800){logger[_0xc8d1('0x22')](_0x4c2800[_0xc8d1('0x23')]);if(_0x4c2800[_0xc8d1('0x24')]){delete _0x4c2800['name'];}_0xbf0016[_0xc8d1('0x16')](_0x380b2a)[_0xc8d1('0x25')](_0x4c2800);};}exports[_0xc8d1('0x20')]=function(_0x14477d,_0x1e1ef9){if(_0x14477d[_0xc8d1('0x26')]['id']){delete _0x14477d['body']['id'];}return db['Action']['find']({'where':{'id':_0x14477d[_0xc8d1('0x27')]['id']}})[_0xc8d1('0x21')](handleEntityNotFound(_0x1e1ef9,null))[_0xc8d1('0x21')](saveUpdates(_0x14477d['body'],null))['then'](respondWithResult(_0x1e1ef9,null))['catch'](handleError(_0x1e1ef9,null));};exports[_0xc8d1('0x28')]=function(_0x1cd3fa,_0x4f2c0f){return db[_0xc8d1('0x29')][_0xc8d1('0x2a')]({'where':{'id':_0x1cd3fa[_0xc8d1('0x27')]['id']}})[_0xc8d1('0x21')](handleEntityNotFound(_0x4f2c0f,null))['then'](removeEntity(_0x4f2c0f,null))[_0xc8d1('0x2b')](handleError(_0x4f2c0f,null));};