Built motion from commit fe909640.|2.6.8
[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 _0xa077=['../../config/utils','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','sendStatus','error','stack','name','send','body','Action','find','params','catch','destroy','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../config/license/hardware'];(function(_0xc615b2,_0xeff1cf){var _0x477890=function(_0x301ceb){while(--_0x301ceb){_0xc615b2['push'](_0xc615b2['shift']());}};_0x477890(++_0xeff1cf);}(_0xa077,0x14f));var _0x7a07=function(_0x3e3337,_0x5843ad){_0x3e3337=_0x3e3337-0x0;var _0x43a313=_0xa077[_0x3e3337];return _0x43a313;};'use strict';var emlformat=require(_0x7a07('0x0'));var rimraf=require(_0x7a07('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7a07('0x2'));var rp=require(_0x7a07('0x3'));var moment=require(_0x7a07('0x4'));var BPromise=require(_0x7a07('0x5'));var Mustache=require(_0x7a07('0x6'));var util=require('util');var path=require(_0x7a07('0x7'));var sox=require(_0x7a07('0x8'));var csv=require('to-csv');var ejs=require(_0x7a07('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7a07('0xa'));var deskjs=require(_0x7a07('0xb'));var toCsv=require(_0x7a07('0xc'));var querystring=require('querystring');var Papa=require(_0x7a07('0xd'));var Redis=require(_0x7a07('0xe'));var authService=require(_0x7a07('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7a07('0x10'));var logger=require('../../config/logger')('api');var utils=require(_0x7a07('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0x7a07('0x12'));var db=require(_0x7a07('0x13'))['db'];function respondWithStatusCode(_0x5d1e1f,_0x169626){_0x169626=_0x169626||0xcc;return function(_0x84896f){if(_0x84896f){return _0x5d1e1f['sendStatus'](_0x169626);}return _0x5d1e1f[_0x7a07('0x14')](_0x169626)[_0x7a07('0x15')]();};}function respondWithResult(_0x2b08b9,_0x160f8e){_0x160f8e=_0x160f8e||0xc8;return function(_0x57cb2d){if(_0x57cb2d){return _0x2b08b9['status'](_0x160f8e)['json'](_0x57cb2d);}};}function respondWithFilteredResult(_0x4a7f42,_0x1e8828){return function(_0x31e354){if(_0x31e354){var _0x5d08fe=typeof _0x1e8828[_0x7a07('0x16')]===_0x7a07('0x17')&&typeof _0x1e8828[_0x7a07('0x18')]===_0x7a07('0x17');var _0x30e7f1=_0x31e354[_0x7a07('0x19')];var _0xc95339=_0x5d08fe?0x0:_0x1e8828['offset'];var _0x1e17a0=_0x5d08fe?_0x31e354['count']:_0x1e8828['offset']+_0x1e8828['limit'];var _0x1e9bf7;if(_0x1e17a0>=_0x30e7f1){_0x1e17a0=_0x30e7f1;_0x1e9bf7=0xc8;}else{_0x1e9bf7=0xce;}_0x4a7f42[_0x7a07('0x14')](_0x1e9bf7);return _0x4a7f42[_0x7a07('0x1a')](_0x7a07('0x1b'),_0xc95339+'-'+_0x1e17a0+'/'+_0x30e7f1)[_0x7a07('0x1c')](_0x31e354);}return null;};}function patchUpdates(_0x508615){return function(_0x328e09){try{jsonpatch['apply'](_0x328e09,_0x508615,!![]);}catch(_0x22212f){return BPromise[_0x7a07('0x1d')](_0x22212f);}return _0x328e09[_0x7a07('0x1e')]();};}function saveUpdates(_0x15496d,_0x1faf01){return function(_0x473fbc){if(_0x473fbc){return _0x473fbc[_0x7a07('0x1f')](_0x15496d)['then'](function(_0x50da45){return _0x50da45;});}return null;};}function removeEntity(_0x2e0dc9,_0x3af068){return function(_0x1b4379){if(_0x1b4379){return _0x1b4379['destroy']()[_0x7a07('0x20')](function(){_0x2e0dc9[_0x7a07('0x14')](0xcc)[_0x7a07('0x15')]();});}};}function handleEntityNotFound(_0x55a6fa,_0xc35966){return function(_0x1097b1){if(!_0x1097b1){_0x55a6fa[_0x7a07('0x21')](0x194);}return _0x1097b1;};}function handleError(_0x3dfdae,_0x487c92){_0x487c92=_0x487c92||0x1f4;return function(_0x26c464){logger[_0x7a07('0x22')](_0x26c464[_0x7a07('0x23')]);if(_0x26c464[_0x7a07('0x24')]){delete _0x26c464[_0x7a07('0x24')];}_0x3dfdae[_0x7a07('0x14')](_0x487c92)[_0x7a07('0x25')](_0x26c464);};}exports['update']=function(_0xa32512,_0x1d8f56){if(_0xa32512[_0x7a07('0x26')]['id']){delete _0xa32512['body']['id'];}return db[_0x7a07('0x27')][_0x7a07('0x28')]({'where':{'id':_0xa32512[_0x7a07('0x29')]['id']}})[_0x7a07('0x20')](handleEntityNotFound(_0x1d8f56,null))[_0x7a07('0x20')](saveUpdates(_0xa32512[_0x7a07('0x26')],null))[_0x7a07('0x20')](respondWithResult(_0x1d8f56,null))[_0x7a07('0x2a')](handleError(_0x1d8f56,null));};exports[_0x7a07('0x2b')]=function(_0x4c0a46,_0x3da04e){return db[_0x7a07('0x27')][_0x7a07('0x28')]({'where':{'id':_0x4c0a46['params']['id']}})[_0x7a07('0x20')](handleEntityNotFound(_0x3da04e,null))['then'](removeEntity(_0x3da04e,null))[_0x7a07('0x2a')](handleError(_0x3da04e,null));};