Built motion from commit 994c64e1.|2.6.1
[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 _0x3797=['json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','body','Action','find','catch','params','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end'];(function(_0x30e54e,_0x2017ae){var _0x26c64b=function(_0x150fd1){while(--_0x150fd1){_0x30e54e['push'](_0x30e54e['shift']());}};_0x26c64b(++_0x2017ae);}(_0x3797,0x9f));var _0x7379=function(_0x54300d,_0x5b8bbd){_0x54300d=_0x54300d-0x0;var _0x75eff=_0x3797[_0x54300d];return _0x75eff;};'use strict';var emlformat=require(_0x7379('0x0'));var rimraf=require(_0x7379('0x1'));var zipdir=require(_0x7379('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7379('0x3'));var moment=require(_0x7379('0x4'));var BPromise=require(_0x7379('0x5'));var Mustache=require(_0x7379('0x6'));var util=require(_0x7379('0x7'));var path=require(_0x7379('0x8'));var sox=require('sox');var csv=require(_0x7379('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x7379('0xa'));var crypto=require(_0x7379('0xb'));var jsforce=require(_0x7379('0xc'));var deskjs=require(_0x7379('0xd'));var toCsv=require('to-csv');var querystring=require(_0x7379('0xe'));var Papa=require(_0x7379('0xf'));var Redis=require('ioredis');var authService=require(_0x7379('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7379('0x11'));var logger=require(_0x7379('0x12'))(_0x7379('0x13'));var utils=require('../../config/utils');var config=require(_0x7379('0x14'));var licenseUtil=require(_0x7379('0x15'));var db=require(_0x7379('0x16'))['db'];function respondWithStatusCode(_0x5cc920,_0x400f74){_0x400f74=_0x400f74||0xcc;return function(_0x5f3dfa){if(_0x5f3dfa){return _0x5cc920['sendStatus'](_0x400f74);}return _0x5cc920[_0x7379('0x17')](_0x400f74)[_0x7379('0x18')]();};}function respondWithResult(_0x38efc1,_0x29e4bb){_0x29e4bb=_0x29e4bb||0xc8;return function(_0x357c99){if(_0x357c99){return _0x38efc1['status'](_0x29e4bb)[_0x7379('0x19')](_0x357c99);}};}function respondWithFilteredResult(_0x1e5279,_0x5e0fdb){return function(_0x5129d4){if(_0x5129d4){var _0x5f7e95=typeof _0x5e0fdb[_0x7379('0x1a')]===_0x7379('0x1b')&&typeof _0x5e0fdb[_0x7379('0x1c')]===_0x7379('0x1b');var _0x52b978=_0x5129d4[_0x7379('0x1d')];var _0x32982b=_0x5f7e95?0x0:_0x5e0fdb[_0x7379('0x1a')];var _0x291a02=_0x5f7e95?_0x5129d4[_0x7379('0x1d')]:_0x5e0fdb[_0x7379('0x1a')]+_0x5e0fdb[_0x7379('0x1c')];var _0xf59fb1;if(_0x291a02>=_0x52b978){_0x291a02=_0x52b978;_0xf59fb1=0xc8;}else{_0xf59fb1=0xce;}_0x1e5279[_0x7379('0x17')](_0xf59fb1);return _0x1e5279[_0x7379('0x1e')](_0x7379('0x1f'),_0x32982b+'-'+_0x291a02+'/'+_0x52b978)[_0x7379('0x19')](_0x5129d4);}return null;};}function patchUpdates(_0x1b2da1){return function(_0x122e13){try{jsonpatch[_0x7379('0x20')](_0x122e13,_0x1b2da1,!![]);}catch(_0x3c20b7){return BPromise[_0x7379('0x21')](_0x3c20b7);}return _0x122e13[_0x7379('0x22')]();};}function saveUpdates(_0x2faca1,_0xb71cf1){return function(_0x1a553a){if(_0x1a553a){return _0x1a553a[_0x7379('0x23')](_0x2faca1)[_0x7379('0x24')](function(_0x2907c0){return _0x2907c0;});}return null;};}function removeEntity(_0x20ce39,_0x2289bc){return function(_0x6f5805){if(_0x6f5805){return _0x6f5805[_0x7379('0x25')]()[_0x7379('0x24')](function(){_0x20ce39[_0x7379('0x17')](0xcc)[_0x7379('0x18')]();});}};}function handleEntityNotFound(_0x405206,_0x425a50){return function(_0x2005c0){if(!_0x2005c0){_0x405206['sendStatus'](0x194);}return _0x2005c0;};}function handleError(_0x1d9929,_0x30c610){_0x30c610=_0x30c610||0x1f4;return function(_0x57f757){logger[_0x7379('0x26')](_0x57f757['stack']);if(_0x57f757[_0x7379('0x27')]){delete _0x57f757[_0x7379('0x27')];}_0x1d9929['status'](_0x30c610)[_0x7379('0x28')](_0x57f757);};}exports[_0x7379('0x23')]=function(_0x2c03ce,_0x1a4d62){if(_0x2c03ce['body']['id']){delete _0x2c03ce[_0x7379('0x29')]['id'];}return db[_0x7379('0x2a')][_0x7379('0x2b')]({'where':{'id':_0x2c03ce['params']['id']}})[_0x7379('0x24')](handleEntityNotFound(_0x1a4d62,null))[_0x7379('0x24')](saveUpdates(_0x2c03ce[_0x7379('0x29')],null))['then'](respondWithResult(_0x1a4d62,null))[_0x7379('0x2c')](handleError(_0x1a4d62,null));};exports[_0x7379('0x25')]=function(_0x4cb3f4,_0x4dd94e){return db[_0x7379('0x2a')]['find']({'where':{'id':_0x4cb3f4[_0x7379('0x2d')]['id']}})[_0x7379('0x24')](handleEntityNotFound(_0x4dd94e,null))[_0x7379('0x24')](removeEntity(_0x4dd94e,null))[_0x7379('0x2c')](handleError(_0x4dd94e,null));};