5d1a4a918ee814c796a584404defc70fd8bf95de
[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 _0xcce1=['bluebird','mustache','util','path','to-csv','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','json','offset','undefined','limit','count','status','Content-Range','apply','reject','then','destroy','sendStatus','error','name','send','body','Action','find','params','catch','eml-format','rimraf','fast-json-patch','request-promise','moment'];(function(_0x3a6efd,_0x2a5102){var _0x487b9a=function(_0x104f89){while(--_0x104f89){_0x3a6efd['push'](_0x3a6efd['shift']());}};_0x487b9a(++_0x2a5102);}(_0xcce1,0x109));var _0x1cce=function(_0x57ac3b,_0x32e884){_0x57ac3b=_0x57ac3b-0x0;var _0x4204c9=_0xcce1[_0x57ac3b];return _0x4204c9;};'use strict';var emlformat=require(_0x1cce('0x0'));var rimraf=require(_0x1cce('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1cce('0x2'));var rp=require(_0x1cce('0x3'));var moment=require(_0x1cce('0x4'));var BPromise=require(_0x1cce('0x5'));var Mustache=require(_0x1cce('0x6'));var util=require(_0x1cce('0x7'));var path=require(_0x1cce('0x8'));var sox=require('sox');var csv=require(_0x1cce('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1cce('0xa'));var squel=require('squel');var crypto=require(_0x1cce('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x1cce('0xc'));var toCsv=require(_0x1cce('0x9'));var querystring=require(_0x1cce('0xd'));var Papa=require(_0x1cce('0xe'));var Redis=require(_0x1cce('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x1cce('0x10'));var as=require(_0x1cce('0x11'));var hardwareService=require(_0x1cce('0x12'));var logger=require(_0x1cce('0x13'))(_0x1cce('0x14'));var utils=require(_0x1cce('0x15'));var config=require(_0x1cce('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x1cce('0x17'))['db'];function respondWithStatusCode(_0x58b85a,_0x38e2c3){_0x38e2c3=_0x38e2c3||0xcc;return function(_0x524fc0){if(_0x524fc0){return _0x58b85a['sendStatus'](_0x38e2c3);}return _0x58b85a['status'](_0x38e2c3)[_0x1cce('0x18')]();};}function respondWithResult(_0x269710,_0x23c4be){_0x23c4be=_0x23c4be||0xc8;return function(_0x287a90){if(_0x287a90){return _0x269710['status'](_0x23c4be)[_0x1cce('0x19')](_0x287a90);}};}function respondWithFilteredResult(_0x52e513,_0x59e6c1){return function(_0x392ef1){if(_0x392ef1){var _0x3cfefb=typeof _0x59e6c1[_0x1cce('0x1a')]===_0x1cce('0x1b')&&typeof _0x59e6c1[_0x1cce('0x1c')]===_0x1cce('0x1b');var _0x278adb=_0x392ef1[_0x1cce('0x1d')];var _0x30d48b=_0x3cfefb?0x0:_0x59e6c1[_0x1cce('0x1a')];var _0x47ece1=_0x3cfefb?_0x392ef1[_0x1cce('0x1d')]:_0x59e6c1[_0x1cce('0x1a')]+_0x59e6c1[_0x1cce('0x1c')];var _0x2e8e25;if(_0x47ece1>=_0x278adb){_0x47ece1=_0x278adb;_0x2e8e25=0xc8;}else{_0x2e8e25=0xce;}_0x52e513[_0x1cce('0x1e')](_0x2e8e25);return _0x52e513['set'](_0x1cce('0x1f'),_0x30d48b+'-'+_0x47ece1+'/'+_0x278adb)[_0x1cce('0x19')](_0x392ef1);}return null;};}function patchUpdates(_0x3d6e01){return function(_0xc62c1b){try{jsonpatch[_0x1cce('0x20')](_0xc62c1b,_0x3d6e01,!![]);}catch(_0x5b04c5){return BPromise[_0x1cce('0x21')](_0x5b04c5);}return _0xc62c1b['save']();};}function saveUpdates(_0x2a1a6e,_0x1d67cc){return function(_0x581471){if(_0x581471){return _0x581471['update'](_0x2a1a6e)[_0x1cce('0x22')](function(_0x14825c){return _0x14825c;});}return null;};}function removeEntity(_0x56d7d4,_0x377e5e){return function(_0x45c0b9){if(_0x45c0b9){return _0x45c0b9[_0x1cce('0x23')]()[_0x1cce('0x22')](function(){_0x56d7d4['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xc28f73,_0x212e8c){return function(_0x3f14e3){if(!_0x3f14e3){_0xc28f73[_0x1cce('0x24')](0x194);}return _0x3f14e3;};}function handleError(_0x2d87ca,_0x39256c){_0x39256c=_0x39256c||0x1f4;return function(_0x472060){logger[_0x1cce('0x25')](_0x472060['stack']);if(_0x472060[_0x1cce('0x26')]){delete _0x472060[_0x1cce('0x26')];}_0x2d87ca[_0x1cce('0x1e')](_0x39256c)[_0x1cce('0x27')](_0x472060);};}exports['update']=function(_0x2fe89a,_0x215d5a){if(_0x2fe89a[_0x1cce('0x28')]['id']){delete _0x2fe89a[_0x1cce('0x28')]['id'];}return db[_0x1cce('0x29')][_0x1cce('0x2a')]({'where':{'id':_0x2fe89a[_0x1cce('0x2b')]['id']}})[_0x1cce('0x22')](handleEntityNotFound(_0x215d5a,null))['then'](saveUpdates(_0x2fe89a[_0x1cce('0x28')],null))[_0x1cce('0x22')](respondWithResult(_0x215d5a,null))['catch'](handleError(_0x215d5a,null));};exports['destroy']=function(_0x4b9266,_0x16d318){return db[_0x1cce('0x29')][_0x1cce('0x2a')]({'where':{'id':_0x4b9266[_0x1cce('0x2b')]['id']}})[_0x1cce('0x22')](handleEntityNotFound(_0x16d318,null))[_0x1cce('0x22')](removeEntity(_0x16d318,null))[_0x1cce('0x2c')](handleError(_0x16d318,null));};