Built motion from commit eddce310.|2.6.12
[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 _0xc1b9=['params','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','set','apply','update','then','destroy','stack','name','send','body','Action','find'];(function(_0x4467b7,_0xc7abf4){var _0x2cb475=function(_0x424ccc){while(--_0x424ccc){_0x4467b7['push'](_0x4467b7['shift']());}};_0x2cb475(++_0xc7abf4);}(_0xc1b9,0xed));var _0x9c1b=function(_0x8b8564,_0x162976){_0x8b8564=_0x8b8564-0x0;var _0x360c61=_0xc1b9[_0x8b8564];return _0x360c61;};'use strict';var emlformat=require(_0x9c1b('0x0'));var rimraf=require(_0x9c1b('0x1'));var zipdir=require(_0x9c1b('0x2'));var jsonpatch=require(_0x9c1b('0x3'));var rp=require(_0x9c1b('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x9c1b('0x5'));var util=require('util');var path=require(_0x9c1b('0x6'));var sox=require(_0x9c1b('0x7'));var csv=require(_0x9c1b('0x8'));var ejs=require(_0x9c1b('0x9'));var fs=require('fs');var fs_extra=require(_0x9c1b('0xa'));var _=require('lodash');var squel=require(_0x9c1b('0xb'));var crypto=require(_0x9c1b('0xc'));var jsforce=require(_0x9c1b('0xd'));var deskjs=require(_0x9c1b('0xe'));var toCsv=require(_0x9c1b('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x9c1b('0xf'));var authService=require(_0x9c1b('0x10'));var qs=require(_0x9c1b('0x11'));var as=require(_0x9c1b('0x12'));var hardwareService=require(_0x9c1b('0x13'));var logger=require(_0x9c1b('0x14'))(_0x9c1b('0x15'));var utils=require(_0x9c1b('0x16'));var config=require(_0x9c1b('0x17'));var licenseUtil=require(_0x9c1b('0x18'));var db=require(_0x9c1b('0x19'))['db'];function respondWithStatusCode(_0x5f3892,_0x54a6c3){_0x54a6c3=_0x54a6c3||0xcc;return function(_0xb102b7){if(_0xb102b7){return _0x5f3892[_0x9c1b('0x1a')](_0x54a6c3);}return _0x5f3892[_0x9c1b('0x1b')](_0x54a6c3)[_0x9c1b('0x1c')]();};}function respondWithResult(_0x3abecc,_0x5d504a){_0x5d504a=_0x5d504a||0xc8;return function(_0x13df65){if(_0x13df65){return _0x3abecc[_0x9c1b('0x1b')](_0x5d504a)[_0x9c1b('0x1d')](_0x13df65);}};}function respondWithFilteredResult(_0x39e558,_0x579712){return function(_0x1c8b0d){if(_0x1c8b0d){var _0x5a433c=typeof _0x579712['offset']==='undefined'&&typeof _0x579712[_0x9c1b('0x1e')]===_0x9c1b('0x1f');var _0x159bcd=_0x1c8b0d[_0x9c1b('0x20')];var _0x357956=_0x5a433c?0x0:_0x579712['offset'];var _0x519e4e=_0x5a433c?_0x1c8b0d[_0x9c1b('0x20')]:_0x579712[_0x9c1b('0x21')]+_0x579712[_0x9c1b('0x1e')];var _0x470351;if(_0x519e4e>=_0x159bcd){_0x519e4e=_0x159bcd;_0x470351=0xc8;}else{_0x470351=0xce;}_0x39e558['status'](_0x470351);return _0x39e558[_0x9c1b('0x22')]('Content-Range',_0x357956+'-'+_0x519e4e+'/'+_0x159bcd)[_0x9c1b('0x1d')](_0x1c8b0d);}return null;};}function patchUpdates(_0x860638){return function(_0x15451e){try{jsonpatch[_0x9c1b('0x23')](_0x15451e,_0x860638,!![]);}catch(_0x257158){return BPromise['reject'](_0x257158);}return _0x15451e['save']();};}function saveUpdates(_0x4fc580,_0x37d58c){return function(_0x490b5c){if(_0x490b5c){return _0x490b5c[_0x9c1b('0x24')](_0x4fc580)[_0x9c1b('0x25')](function(_0x48afa9){return _0x48afa9;});}return null;};}function removeEntity(_0x4c2df5,_0x41c8e8){return function(_0x3e1613){if(_0x3e1613){return _0x3e1613[_0x9c1b('0x26')]()['then'](function(){_0x4c2df5[_0x9c1b('0x1b')](0xcc)[_0x9c1b('0x1c')]();});}};}function handleEntityNotFound(_0x486dc3,_0x4b6838){return function(_0x9afd06){if(!_0x9afd06){_0x486dc3[_0x9c1b('0x1a')](0x194);}return _0x9afd06;};}function handleError(_0x2acef3,_0x17859f){_0x17859f=_0x17859f||0x1f4;return function(_0xa61e8d){logger['error'](_0xa61e8d[_0x9c1b('0x27')]);if(_0xa61e8d['name']){delete _0xa61e8d[_0x9c1b('0x28')];}_0x2acef3[_0x9c1b('0x1b')](_0x17859f)[_0x9c1b('0x29')](_0xa61e8d);};}exports['update']=function(_0x30c153,_0x155cdc){if(_0x30c153[_0x9c1b('0x2a')]['id']){delete _0x30c153[_0x9c1b('0x2a')]['id'];}return db[_0x9c1b('0x2b')][_0x9c1b('0x2c')]({'where':{'id':_0x30c153[_0x9c1b('0x2d')]['id']}})[_0x9c1b('0x25')](handleEntityNotFound(_0x155cdc,null))[_0x9c1b('0x25')](saveUpdates(_0x30c153['body'],null))[_0x9c1b('0x25')](respondWithResult(_0x155cdc,null))[_0x9c1b('0x2e')](handleError(_0x155cdc,null));};exports[_0x9c1b('0x26')]=function(_0xb3de96,_0x500fa0){return db[_0x9c1b('0x2b')][_0x9c1b('0x2c')]({'where':{'id':_0xb3de96[_0x9c1b('0x2d')]['id']}})[_0x9c1b('0x25')](handleEntityNotFound(_0x500fa0,null))[_0x9c1b('0x25')](removeEntity(_0x500fa0,null))[_0x9c1b('0x2e')](handleError(_0x500fa0,null));};