Built motion from commit 85328c08.|2.5.50
[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 _0x73c7=['ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','json','apply','reject','then','destroy','end','stack','name','send','body','find','params','catch','Action','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','squel','crypto','desk.js','to-csv'];(function(_0x3353a6,_0x1c6e93){var _0x2fe073=function(_0x58838c){while(--_0x58838c){_0x3353a6['push'](_0x3353a6['shift']());}};_0x2fe073(++_0x1c6e93);}(_0x73c7,0x176));var _0x773c=function(_0x22f9e5,_0x1f7436){_0x22f9e5=_0x22f9e5-0x0;var _0xa6fe19=_0x73c7[_0x22f9e5];return _0xa6fe19;};'use strict';var emlformat=require(_0x773c('0x0'));var rimraf=require(_0x773c('0x1'));var zipdir=require(_0x773c('0x2'));var jsonpatch=require(_0x773c('0x3'));var rp=require(_0x773c('0x4'));var moment=require(_0x773c('0x5'));var BPromise=require(_0x773c('0x6'));var Mustache=require('mustache');var util=require(_0x773c('0x7'));var path=require('path');var sox=require(_0x773c('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x773c('0x9'));var crypto=require(_0x773c('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x773c('0xb'));var toCsv=require(_0x773c('0xc'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x773c('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x773c('0xe'));var as=require(_0x773c('0xf'));var hardwareService=require(_0x773c('0x10'));var logger=require(_0x773c('0x11'))(_0x773c('0x12'));var utils=require(_0x773c('0x13'));var config=require(_0x773c('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x773c('0x15'))['db'];function respondWithStatusCode(_0x3d0581,_0x500cdf){_0x500cdf=_0x500cdf||0xcc;return function(_0x8863a1){if(_0x8863a1){return _0x3d0581[_0x773c('0x16')](_0x500cdf);}return _0x3d0581['status'](_0x500cdf)['end']();};}function respondWithResult(_0x2c3711,_0x22cb7c){_0x22cb7c=_0x22cb7c||0xc8;return function(_0x255280){if(_0x255280){return _0x2c3711[_0x773c('0x17')](_0x22cb7c)['json'](_0x255280);}};}function respondWithFilteredResult(_0x11971f,_0x55a1df){return function(_0x3b5daf){if(_0x3b5daf){var _0x1547e1=typeof _0x55a1df[_0x773c('0x18')]===_0x773c('0x19')&&typeof _0x55a1df[_0x773c('0x1a')]===_0x773c('0x19');var _0x228b72=_0x3b5daf[_0x773c('0x1b')];var _0xaa8766=_0x1547e1?0x0:_0x55a1df[_0x773c('0x18')];var _0x3dfb6c=_0x1547e1?_0x3b5daf[_0x773c('0x1b')]:_0x55a1df['offset']+_0x55a1df['limit'];var _0x572f43;if(_0x3dfb6c>=_0x228b72){_0x3dfb6c=_0x228b72;_0x572f43=0xc8;}else{_0x572f43=0xce;}_0x11971f[_0x773c('0x17')](_0x572f43);return _0x11971f[_0x773c('0x1c')]('Content-Range',_0xaa8766+'-'+_0x3dfb6c+'/'+_0x228b72)[_0x773c('0x1d')](_0x3b5daf);}return null;};}function patchUpdates(_0x42e4bb){return function(_0xb84b4){try{jsonpatch[_0x773c('0x1e')](_0xb84b4,_0x42e4bb,!![]);}catch(_0x23640b){return BPromise[_0x773c('0x1f')](_0x23640b);}return _0xb84b4['save']();};}function saveUpdates(_0x3cdb0b,_0x533965){return function(_0x241ad4){if(_0x241ad4){return _0x241ad4['update'](_0x3cdb0b)[_0x773c('0x20')](function(_0x2797ae){return _0x2797ae;});}return null;};}function removeEntity(_0x1492ec,_0x2034a9){return function(_0x41bc1e){if(_0x41bc1e){return _0x41bc1e[_0x773c('0x21')]()[_0x773c('0x20')](function(){_0x1492ec['status'](0xcc)[_0x773c('0x22')]();});}};}function handleEntityNotFound(_0xe46588,_0x1dd7f5){return function(_0x2d3fb6){if(!_0x2d3fb6){_0xe46588[_0x773c('0x16')](0x194);}return _0x2d3fb6;};}function handleError(_0xb9aa38,_0xa54d89){_0xa54d89=_0xa54d89||0x1f4;return function(_0x425bd3){logger['error'](_0x425bd3[_0x773c('0x23')]);if(_0x425bd3[_0x773c('0x24')]){delete _0x425bd3[_0x773c('0x24')];}_0xb9aa38[_0x773c('0x17')](_0xa54d89)[_0x773c('0x25')](_0x425bd3);};}exports['update']=function(_0x42f611,_0x285da0){if(_0x42f611[_0x773c('0x26')]['id']){delete _0x42f611[_0x773c('0x26')]['id'];}return db['Action'][_0x773c('0x27')]({'where':{'id':_0x42f611[_0x773c('0x28')]['id']}})[_0x773c('0x20')](handleEntityNotFound(_0x285da0,null))[_0x773c('0x20')](saveUpdates(_0x42f611['body'],null))[_0x773c('0x20')](respondWithResult(_0x285da0,null))[_0x773c('0x29')](handleError(_0x285da0,null));};exports['destroy']=function(_0x4c2639,_0x4dc943){return db[_0x773c('0x2a')][_0x773c('0x27')]({'where':{'id':_0x4c2639['params']['id']}})['then'](handleEntityNotFound(_0x4dc943,null))[_0x773c('0x20')](removeEntity(_0x4dc943,null))['catch'](handleError(_0x4dc943,null));};