e83b35983b369702d860773dd759b92d0a37c9f0
[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 _0xc69a=['status','undefined','limit','offset','set','Content-Range','save','update','then','destroy','error','stack','name','send','body','params','catch','Action','find','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x15bc81,_0x4d4f77){var _0x59440e=function(_0x1b60f2){while(--_0x1b60f2){_0x15bc81['push'](_0x15bc81['shift']());}};_0x59440e(++_0x4d4f77);}(_0xc69a,0x196));var _0xac69=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0xc69a[_0x3ab51d];return _0x29a04e;};'use strict';var emlformat=require(_0xac69('0x0'));var rimraf=require(_0xac69('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xac69('0x2'));var rp=require(_0xac69('0x3'));var moment=require(_0xac69('0x4'));var BPromise=require(_0xac69('0x5'));var Mustache=require(_0xac69('0x6'));var util=require(_0xac69('0x7'));var path=require(_0xac69('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xac69('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xac69('0xa'));var jsforce=require(_0xac69('0xb'));var deskjs=require(_0xac69('0xc'));var toCsv=require('to-csv');var querystring=require(_0xac69('0xd'));var Papa=require(_0xac69('0xe'));var Redis=require(_0xac69('0xf'));var authService=require(_0xac69('0x10'));var qs=require(_0xac69('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xac69('0x12'));var logger=require('../../config/logger')(_0xac69('0x13'));var utils=require(_0xac69('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xac69('0x15'));var db=require(_0xac69('0x16'))['db'];function respondWithStatusCode(_0x2fc228,_0x30b9cc){_0x30b9cc=_0x30b9cc||0xcc;return function(_0x1b1392){if(_0x1b1392){return _0x2fc228[_0xac69('0x17')](_0x30b9cc);}return _0x2fc228[_0xac69('0x18')](_0x30b9cc)['end']();};}function respondWithResult(_0x178ce7,_0x436c56){_0x436c56=_0x436c56||0xc8;return function(_0x3404f1){if(_0x3404f1){return _0x178ce7['status'](_0x436c56)['json'](_0x3404f1);}};}function respondWithFilteredResult(_0x22c3be,_0x12592b){return function(_0x270f62){if(_0x270f62){var _0x3873a2=typeof _0x12592b['offset']===_0xac69('0x19')&&typeof _0x12592b[_0xac69('0x1a')]==='undefined';var _0x98a916=_0x270f62['count'];var _0x13be59=_0x3873a2?0x0:_0x12592b['offset'];var _0x3adeb0=_0x3873a2?_0x270f62['count']:_0x12592b[_0xac69('0x1b')]+_0x12592b[_0xac69('0x1a')];var _0x2f2311;if(_0x3adeb0>=_0x98a916){_0x3adeb0=_0x98a916;_0x2f2311=0xc8;}else{_0x2f2311=0xce;}_0x22c3be[_0xac69('0x18')](_0x2f2311);return _0x22c3be[_0xac69('0x1c')](_0xac69('0x1d'),_0x13be59+'-'+_0x3adeb0+'/'+_0x98a916)['json'](_0x270f62);}return null;};}function patchUpdates(_0x5b6251){return function(_0x192953){try{jsonpatch['apply'](_0x192953,_0x5b6251,!![]);}catch(_0x277fea){return BPromise['reject'](_0x277fea);}return _0x192953[_0xac69('0x1e')]();};}function saveUpdates(_0x5e232b,_0x3b1aa2){return function(_0x1780a4){if(_0x1780a4){return _0x1780a4[_0xac69('0x1f')](_0x5e232b)[_0xac69('0x20')](function(_0x2475bc){return _0x2475bc;});}return null;};}function removeEntity(_0x1ea5b3,_0x3f1801){return function(_0x758a9f){if(_0x758a9f){return _0x758a9f[_0xac69('0x21')]()[_0xac69('0x20')](function(){_0x1ea5b3[_0xac69('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x41dff3,_0x16a2d5){return function(_0x3bf667){if(!_0x3bf667){_0x41dff3[_0xac69('0x17')](0x194);}return _0x3bf667;};}function handleError(_0x223851,_0x52756f){_0x52756f=_0x52756f||0x1f4;return function(_0x40c0da){logger[_0xac69('0x22')](_0x40c0da[_0xac69('0x23')]);if(_0x40c0da['name']){delete _0x40c0da[_0xac69('0x24')];}_0x223851['status'](_0x52756f)[_0xac69('0x25')](_0x40c0da);};}exports[_0xac69('0x1f')]=function(_0x161e46,_0x5630b4){if(_0x161e46[_0xac69('0x26')]['id']){delete _0x161e46[_0xac69('0x26')]['id'];}return db['Action']['find']({'where':{'id':_0x161e46[_0xac69('0x27')]['id']}})[_0xac69('0x20')](handleEntityNotFound(_0x5630b4,null))[_0xac69('0x20')](saveUpdates(_0x161e46['body'],null))['then'](respondWithResult(_0x5630b4,null))[_0xac69('0x28')](handleError(_0x5630b4,null));};exports[_0xac69('0x21')]=function(_0x2a2a98,_0x414e61){return db[_0xac69('0x29')][_0xac69('0x2a')]({'where':{'id':_0x2a2a98[_0xac69('0x27')]['id']}})[_0xac69('0x20')](handleEntityNotFound(_0x414e61,null))[_0xac69('0x20')](removeEntity(_0x414e61,null))[_0xac69('0x28')](handleError(_0x414e61,null));};