Built motion from commit 9c91e9f5.|2.6.29
[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 _0x5036=['offset','limit','undefined','set','Content-Range','apply','reject','save','update','then','destroy','end','sendStatus','stack','name','send','body','Action','find','params','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','squel','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','status','json'];(function(_0x2340e2,_0x1627f9){var _0x5ced10=function(_0x3c5250){while(--_0x3c5250){_0x2340e2['push'](_0x2340e2['shift']());}};_0x5ced10(++_0x1627f9);}(_0x5036,0x164));var _0x6503=function(_0x1aa13e,_0x12a40b){_0x1aa13e=_0x1aa13e-0x0;var _0x1144bd=_0x5036[_0x1aa13e];return _0x1144bd;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6503('0x0'));var zipdir=require(_0x6503('0x1'));var jsonpatch=require(_0x6503('0x2'));var rp=require(_0x6503('0x3'));var moment=require('moment');var BPromise=require(_0x6503('0x4'));var Mustache=require(_0x6503('0x5'));var util=require('util');var path=require(_0x6503('0x6'));var sox=require(_0x6503('0x7'));var csv=require(_0x6503('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6503('0x9'));var _=require('lodash');var squel=require(_0x6503('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x6503('0xb'));var toCsv=require(_0x6503('0x8'));var querystring=require(_0x6503('0xc'));var Papa=require(_0x6503('0xd'));var Redis=require(_0x6503('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6503('0xf'));var hardwareService=require(_0x6503('0x10'));var logger=require(_0x6503('0x11'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x6503('0x12'));var db=require(_0x6503('0x13'))['db'];function respondWithStatusCode(_0x26373f,_0x5bb225){_0x5bb225=_0x5bb225||0xcc;return function(_0xeddd86){if(_0xeddd86){return _0x26373f['sendStatus'](_0x5bb225);}return _0x26373f[_0x6503('0x14')](_0x5bb225)['end']();};}function respondWithResult(_0x18f71d,_0x57a246){_0x57a246=_0x57a246||0xc8;return function(_0x1d4bb4){if(_0x1d4bb4){return _0x18f71d[_0x6503('0x14')](_0x57a246)[_0x6503('0x15')](_0x1d4bb4);}};}function respondWithFilteredResult(_0x36edf1,_0x54b89d){return function(_0x152b8e){if(_0x152b8e){var _0x336adf=typeof _0x54b89d[_0x6503('0x16')]==='undefined'&&typeof _0x54b89d[_0x6503('0x17')]===_0x6503('0x18');var _0xb6e27f=_0x152b8e['count'];var _0x21fd59=_0x336adf?0x0:_0x54b89d[_0x6503('0x16')];var _0x249c3b=_0x336adf?_0x152b8e['count']:_0x54b89d['offset']+_0x54b89d['limit'];var _0x3606b4;if(_0x249c3b>=_0xb6e27f){_0x249c3b=_0xb6e27f;_0x3606b4=0xc8;}else{_0x3606b4=0xce;}_0x36edf1[_0x6503('0x14')](_0x3606b4);return _0x36edf1[_0x6503('0x19')](_0x6503('0x1a'),_0x21fd59+'-'+_0x249c3b+'/'+_0xb6e27f)[_0x6503('0x15')](_0x152b8e);}return null;};}function patchUpdates(_0x323642){return function(_0x23b8fa){try{jsonpatch[_0x6503('0x1b')](_0x23b8fa,_0x323642,!![]);}catch(_0x56d5cc){return BPromise[_0x6503('0x1c')](_0x56d5cc);}return _0x23b8fa[_0x6503('0x1d')]();};}function saveUpdates(_0x3ea845,_0x5eeaff){return function(_0x418f0d){if(_0x418f0d){return _0x418f0d[_0x6503('0x1e')](_0x3ea845)[_0x6503('0x1f')](function(_0x5c875f){return _0x5c875f;});}return null;};}function removeEntity(_0x9298c,_0x4ee194){return function(_0x124fc6){if(_0x124fc6){return _0x124fc6[_0x6503('0x20')]()[_0x6503('0x1f')](function(){_0x9298c[_0x6503('0x14')](0xcc)[_0x6503('0x21')]();});}};}function handleEntityNotFound(_0x38eb34,_0x1097b3){return function(_0x24ef61){if(!_0x24ef61){_0x38eb34[_0x6503('0x22')](0x194);}return _0x24ef61;};}function handleError(_0x3d1d4f,_0x1df025){_0x1df025=_0x1df025||0x1f4;return function(_0xd47799){logger['error'](_0xd47799[_0x6503('0x23')]);if(_0xd47799[_0x6503('0x24')]){delete _0xd47799['name'];}_0x3d1d4f[_0x6503('0x14')](_0x1df025)[_0x6503('0x25')](_0xd47799);};}exports[_0x6503('0x1e')]=function(_0xe5ba6b,_0x18a95f){if(_0xe5ba6b[_0x6503('0x26')]['id']){delete _0xe5ba6b['body']['id'];}return db[_0x6503('0x27')][_0x6503('0x28')]({'where':{'id':_0xe5ba6b['params']['id']}})[_0x6503('0x1f')](handleEntityNotFound(_0x18a95f,null))[_0x6503('0x1f')](saveUpdates(_0xe5ba6b['body'],null))[_0x6503('0x1f')](respondWithResult(_0x18a95f,null))['catch'](handleError(_0x18a95f,null));};exports[_0x6503('0x20')]=function(_0x182af5,_0x3d4d2d){return db['Action'][_0x6503('0x28')]({'where':{'id':_0x182af5[_0x6503('0x29')]['id']}})['then'](handleEntityNotFound(_0x3d4d2d,null))[_0x6503('0x1f')](removeEntity(_0x3d4d2d,null))['catch'](handleError(_0x3d4d2d,null));};