1b36ba9dcb2a1f254a9c13c99e3c2f0abe4fc65f
[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 _0x1dd3=['undefined','limit','count','set','apply','reject','save','update','then','destroy','error','stack','name','send','body','find','params','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','sendStatus','status','end','json','offset'];(function(_0x4c0544,_0x1fa6bc){var _0xf979f2=function(_0x379992){while(--_0x379992){_0x4c0544['push'](_0x4c0544['shift']());}};_0xf979f2(++_0x1fa6bc);}(_0x1dd3,0x102));var _0x31dd=function(_0x17ca23,_0x11c7d3){_0x17ca23=_0x17ca23-0x0;var _0x385e5c=_0x1dd3[_0x17ca23];return _0x385e5c;};'use strict';var emlformat=require(_0x31dd('0x0'));var rimraf=require(_0x31dd('0x1'));var zipdir=require(_0x31dd('0x2'));var jsonpatch=require(_0x31dd('0x3'));var rp=require(_0x31dd('0x4'));var moment=require('moment');var BPromise=require(_0x31dd('0x5'));var Mustache=require('mustache');var util=require(_0x31dd('0x6'));var path=require(_0x31dd('0x7'));var sox=require(_0x31dd('0x8'));var csv=require(_0x31dd('0x9'));var ejs=require(_0x31dd('0xa'));var fs=require('fs');var fs_extra=require(_0x31dd('0xb'));var _=require(_0x31dd('0xc'));var squel=require(_0x31dd('0xd'));var crypto=require(_0x31dd('0xe'));var jsforce=require(_0x31dd('0xf'));var deskjs=require(_0x31dd('0x10'));var toCsv=require(_0x31dd('0x9'));var querystring=require(_0x31dd('0x11'));var Papa=require(_0x31dd('0x12'));var Redis=require(_0x31dd('0x13'));var authService=require(_0x31dd('0x14'));var qs=require(_0x31dd('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x31dd('0x16'));var logger=require('../../config/logger')(_0x31dd('0x17'));var utils=require(_0x31dd('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4b037e,_0x3db4b1){_0x3db4b1=_0x3db4b1||0xcc;return function(_0x243109){if(_0x243109){return _0x4b037e[_0x31dd('0x19')](_0x3db4b1);}return _0x4b037e[_0x31dd('0x1a')](_0x3db4b1)[_0x31dd('0x1b')]();};}function respondWithResult(_0x19b40c,_0x4da1ce){_0x4da1ce=_0x4da1ce||0xc8;return function(_0x49862e){if(_0x49862e){return _0x19b40c[_0x31dd('0x1a')](_0x4da1ce)[_0x31dd('0x1c')](_0x49862e);}};}function respondWithFilteredResult(_0x40c1f4,_0x4d08ff){return function(_0x3933cb){if(_0x3933cb){var _0x12cf31=typeof _0x4d08ff[_0x31dd('0x1d')]===_0x31dd('0x1e')&&typeof _0x4d08ff[_0x31dd('0x1f')]===_0x31dd('0x1e');var _0x254c19=_0x3933cb[_0x31dd('0x20')];var _0x12f1f4=_0x12cf31?0x0:_0x4d08ff[_0x31dd('0x1d')];var _0x5cd67a=_0x12cf31?_0x3933cb['count']:_0x4d08ff[_0x31dd('0x1d')]+_0x4d08ff[_0x31dd('0x1f')];var _0x3ccd84;if(_0x5cd67a>=_0x254c19){_0x5cd67a=_0x254c19;_0x3ccd84=0xc8;}else{_0x3ccd84=0xce;}_0x40c1f4[_0x31dd('0x1a')](_0x3ccd84);return _0x40c1f4[_0x31dd('0x21')]('Content-Range',_0x12f1f4+'-'+_0x5cd67a+'/'+_0x254c19)[_0x31dd('0x1c')](_0x3933cb);}return null;};}function patchUpdates(_0x4f3bf4){return function(_0x19c381){try{jsonpatch[_0x31dd('0x22')](_0x19c381,_0x4f3bf4,!![]);}catch(_0xfbed2f){return BPromise[_0x31dd('0x23')](_0xfbed2f);}return _0x19c381[_0x31dd('0x24')]();};}function saveUpdates(_0x69c67a,_0x17db2c){return function(_0x18ef82){if(_0x18ef82){return _0x18ef82[_0x31dd('0x25')](_0x69c67a)[_0x31dd('0x26')](function(_0x3a7bed){return _0x3a7bed;});}return null;};}function removeEntity(_0x4f66c5,_0x3901d1){return function(_0x4d423d){if(_0x4d423d){return _0x4d423d[_0x31dd('0x27')]()[_0x31dd('0x26')](function(){_0x4f66c5[_0x31dd('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x38568c,_0x145589){return function(_0x14ffd9){if(!_0x14ffd9){_0x38568c[_0x31dd('0x19')](0x194);}return _0x14ffd9;};}function handleError(_0x5aaf48,_0x4beb9a){_0x4beb9a=_0x4beb9a||0x1f4;return function(_0x3628d2){logger[_0x31dd('0x28')](_0x3628d2[_0x31dd('0x29')]);if(_0x3628d2[_0x31dd('0x2a')]){delete _0x3628d2['name'];}_0x5aaf48[_0x31dd('0x1a')](_0x4beb9a)[_0x31dd('0x2b')](_0x3628d2);};}exports[_0x31dd('0x25')]=function(_0x25f0f4,_0x4cd58e){if(_0x25f0f4['body']['id']){delete _0x25f0f4[_0x31dd('0x2c')]['id'];}return db['Action'][_0x31dd('0x2d')]({'where':{'id':_0x25f0f4[_0x31dd('0x2e')]['id']}})[_0x31dd('0x26')](handleEntityNotFound(_0x4cd58e,null))[_0x31dd('0x26')](saveUpdates(_0x25f0f4[_0x31dd('0x2c')],null))['then'](respondWithResult(_0x4cd58e,null))['catch'](handleError(_0x4cd58e,null));};exports[_0x31dd('0x27')]=function(_0x45baa9,_0x590138){return db['Action']['find']({'where':{'id':_0x45baa9['params']['id']}})[_0x31dd('0x26')](handleEntityNotFound(_0x590138,null))['then'](removeEntity(_0x590138,null))[_0x31dd('0x2f')](handleError(_0x590138,null));};